0
Я пытаюсь установить Click Listener в свой RecyclerView, но когда я нажимаю на него, ничего не происходит.RecyclerView set Click Listener, ничего не происходит после того, как я нажимаю
Ниже приведен код моего адаптера. То, что я сделал это присоединять нажмите события внутри ViewHolder внутри моего адаптера,
Я could't найти то, что здесь не так:
public class HomeSetsViewAdapter extends RecyclerView.Adapter<HomeSetsViewAdapter.ViewHolder> {
private Context context;
// Pass in the context and posts array into the constructor
public HomeSetsViewAdapter(Context context, ArrayList<Post> posts) {
this.posts = posts;
this.context = context;
}
// Store a member variable for the users
private ArrayList<Post> posts;
@Override
public HomeSetsViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, final int viewType) {
// to inflate the item layout and create the holder
// Inflate the custom layout
View itemView = LayoutInflater.from(context).inflate(R.layout.layout_viewholderset, parent, false);
return new HomeSetsViewAdapter.ViewHolder(context, itemView);
}
// to set the view attributes based on the data
// Get the data model based on position
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Post post = posts.get(position);
if (position % 2 == 0) {
holder.getmainPic().setImageResource(R.drawable.pic3);
} else
holder.getmainPic().setImageResource(R.drawable.pic4);
// Set item views based on the data model
}
@Override
public int getItemCount() {
return posts.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
// Your holder should contain a member variable
// for any view that will be set as you render a row
private ImageView main_pic;
private Context context;
// constructor
public ViewHolder(View itemView) {
super(itemView);
this.main_pic = (ImageView) itemView.findViewById(R.id.main_pic);
// Attach a click listener to the entire row view
itemView.setOnClickListener(this);
}
// constructor
public ViewHolder(Context context, View itemView) {
super(itemView);
this.main_pic = (ImageView) itemView.findViewById(R.id.main_pic);
this.context = context;
// Attach a click listener to the entire row view
itemView.setOnClickListener(this);
}
public ImageView getmainPic() {
return main_pic;
}
public void setmainPic(ImageView main_pic) {
this.main_pic = main_pic;
}
// Handles the row being being clicked
@Override
public void onClick(View v) {
Intent intent = new Intent(context, HomePostPagerActivity.class);
context.startActivity(intent);
}
}
}
Можете ли вы опубликовать файл макета – Ramesh