get position of clicked item in recyclerView , i create cardview and link in recyclerView
i want to get position to set the switch case to intent activity of each card view
When I click on card view I, he opens another page, and when you click on Card View 2, he opens another page.
look my code
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder>{
private List<Movie> movieList;
private ClickListener<Movie> clickListener;
RecyclerViewAdapter(List<Movie> movieList){
this.movieList = movieList;
}
@Override
public RecyclerViewAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.movie_item_list,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerViewAdapter.MyViewHolder holder, final int position) {
final Movie movie = movieList.get(position);
holder.title.setText(movie.getTitle());
holder.image.setBackgroundResource(movie.getImage());
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clickListener.onItemClick(movie);
switch (v.getContext()){
case position==0:
startActivity(new Intent(MainActivity.this, activity_one.class));
break;
case position==1:
startActivity(new Intent(MainActivity.this, activity_tow.class));
break;
case position==2:
startActivity(new Intent(MainActivity.this, activity_three.class));
break;
}
}
});
}
@Override
public int getItemCount() {
return movieList.size();
}
public void setOnItemClickListener(ClickListener<Movie> movieClickListener) {
this.clickListener = movieClickListener;
}
public class MyViewHolder extends RecyclerView.ViewHolder {
private TextView title;
private ImageView image;
private CardView cardView;
public MyViewHolder(View itemView) {
super(itemView);
title = itemView.findViewById(R.id.title_re);
image = itemView.findViewById(R.id.image_re);
cardView = itemView.findViewById(R.id.cardview1_id);
}
}
}
interface ClickListener<T> {
void onItemClick(T data);
}
get position of clicked item in recyclerView , i create cardview and link in recyclerView
i want to get position to set the switch case to intent activity of each card view
When I click on card view I, he opens another page, and when you click on Card View 2, he opens another page.
CodePudding user response:
Don't use position. Use holder.getAdapterPosition() instead.
Also, you have a typo in your activity_two intent, which might be throwing you a bit?
