-1
 @Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
    String clicktemplate = modelClassesListt.get(i).getTitle();
    Toast.makeText(Template.this ,modelClassesListt.get(i).getTitle() , Toast.LENGTH_SHORT).show();
}

I want to send this clicktemplate string value to other class

  • Go through this (https://riptutorial.com/android/example/14581/passing-custom-object-between-activities) – nikk Sep 16 '19 at 10:11

3 Answers3

0

You have to put value in Intent or Bundle and send it to the next screen.

Here is an example for pass data in Activity.

Intent intent = new Intent(this, YourNextActivity.class);
                intent.putExtra("key_clicktemplate", clicktemplate);
                startActivity(intent);

To get value in next screen like below

String value = getIntent().getExtras().getString("key_clicktemplate");
Mehul Kabaria
  • 6,404
  • 4
  • 25
  • 50
0

You can use several approaches to implement your need.below thread will be useful to you.

How to pass values from RecycleAdapter to MainActivity or Other Activities

SRJ
  • 49
  • 7
0

In your recyclerview class add onclicklistener interface and include your listener in constructor:

private final OnItemClickListener listener;

public interface OnItemClickListener {
        void onItemClick(myObject item, int position, String message);
    }

public MyRecyclerViewAdapter(Activity pActivity, ArrayList<myObject> pList, int pItemLayout, OnItemClickListener listener) {
        activity = pActivity;
        rewardsList = pList;
        layoutID=pItemLayout;
        this.listener = listener;
    }

Then. in onCreateViewHolder:

@Override
    public void onBindViewHolder(MyHolder holder, int position) {
        myObject currentItem = rewardsList.get(position);
        holder.bindList(currentItem, listener, position);
    }

Next, in your ViewHolder add:

class MyHolder extends RecyclerView.ViewHolder {

        View masterView;


        MyHolder(View itemView) {
            super(itemView);

            masterView = itemView;


        }

        void bindList(final myObject item, final OnItemClickListener listener, int position){

            masterView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    listener.onItemClick(item, position,"edit");
                }
            });

...

Finally, in calling activity/fragment:

MyRecyclerViewAdapter adapter = new MyRecyclerViewAdapter(mActivity, list, R.layout.item, new MyRecyclerViewAdapter.OnItemClickListener() {
                    @Override
                    public void onItemClick(MyObject item, int position, String message) {

                        //item clicks handled here

                        switch (message){
                            case ITEM_OPEN:
                                // Do whatever you need with clicked item here
                                break;

                            case ITEM_EDIT:
                                // Do whatever you need with clicked item here
                                break;


                        }
                    }
                }, mRecyclerView);