Я пытаюсь открыть различную активность для разных карточек в CardView, но я могу открыть такую же активность для всех карт. Я прилагаю код RVAdapter ниже. Пожалуйста помоги.Как открыть различные действия для каждого CardView в Android?
public class RVAdapter extends RecyclerView.Adapter<RVAdapter.PersonViewHolder>{
List<person> persons;
public static class PersonViewHolder extends RecyclerView.ViewHolder{
CardView cv;
TextView tv1,tv2;
PersonViewHolder(View itemView){
super(itemView);
cv=(CardView)itemView.findViewById(R.id.cv);
tv1=(TextView)itemView.findViewById(R.id.tx1);
tv2=(TextView)itemView.findViewById(R.id.tx2);
cv.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v){
cv.getContext().startActivity(new Intent(cv.getContext(), second.class));
}
});
}
}
RVAdapter(List<person> persons){
this.persons=persons;
}
@Override
public int getItemCount()
{
return persons.size();
}
@Override
public PersonViewHolder onCreateViewHolder(ViewGroup viewGroup,int i){
View v= LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.activity_scroll_activity,viewGroup,false);
PersonViewHolder pvh=new PersonViewHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(PersonViewHolder holder, int i) {
holder.tv1.setText(persons.get(i).name);
holder.tv2.setText(persons.get(i).branch);
}
@Override
public void onAttachedToRecyclerView(RecyclerView rcv)
{
super.onAttachedToRecyclerView(rcv);
}
}
также В onBindViewHolder задайте прослушиватель кликов для CardView, а не конструктор ViewHolder. – Helix