Before watching this Do refer the previous Blog for implementing a RecyclerView. Please Click Here.
To Handle click event in RecyclerView we need make our View holder to implement the OnClickListner interface now we just need to overrride the onClick(View v) method of that interface .Below is the complete code of Adapter for the click event the text in bold are the changes made for handling the click event.
MyAdapter.java
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
ArrayList arrayList;
Context context;
public MyAdapter(ArrayList arrayList, Context context) {
this.arrayList = arrayList;
this.context = context;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//we call inflator over here...
View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.row,parent,false);
return new MyViewHolder(v,context,arrayList);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
//method is used to set the data in view.
holder.textView.setText(""+arrayList.get(position));
}
@Override
public int getItemCount() {
//return the size of arraylist
return arrayList.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
//all the individual View objects of the row is declared over here.
TextView textView;
Context ctx;
ArrayList arrayList=new ArrayList();
public MyViewHolder(View itemView,Context context,ArrayList al) {
super(itemView);
itemView.setOnClickListener(this);
textView = (TextView) itemView.findViewById(R.id.text1);
arrayList=al;
ctx=context;
}
@Override
public void onClick(View view) {
int position=getAdapterPosition();
String data=""+arrayList.get(position);
Toast.makeText(ctx, "sdsfs"+data, Toast.LENGTH_SHORT).show();
}
}
}
[…] For the handling click events on RecyclerView Please Click Here. […]
ReplyDeleteThanks for upload click event in recycleview.
ReplyDeleteUr welcum..
ReplyDelete