RecyclerView 中的多个 onClickListener [英] Multiple onClickListener in a RecyclerView
问题描述
我有一个包含多个项目的 RecyclerView.每个 Item 都有多个按钮来执行一些操作.所以我已经在我的 RecyclerViewAdapter 中实现了 View.OnClickListener.
I have a RecyclerView with multiple items. Each Item have multiple button to do some actions. So I have implemented the View.OnClickListener to my RecyclerViewAdapter.
但似乎我只能在 onCreateViewHolder 函数中设置一个 OnClickListener.
But it's seems like I can only set one OnClickListener in the onCreateViewHolder function.
有谁知道在我的 RecyclerView 的每个项目中有多个按钮的解决方案吗?
Does anyone know any solution to have multiple button in each items of my RecyclerView ?
推荐答案
你可以实现 OnClickListener 并在 onClick 函数中实现每个动作.像这样.
You could implement OnClickListener and inside onClick function implement each action. Like this.
static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
Button button1;
Button button2;
Button button3;
Button button4;
public MyViewHolder(View itemView) {
super(itemView);
button1 = (Button) itemView.findViewById(R.id.button1);
button2 = (Button) itemView.findViewById(R.id.button2);
button3 = (Button) itemView.findViewById(R.id.button3);
button4 = (Button) itemView.findViewById(R.id.button4);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == button1) {
// button1 action
} else if (view == button2) {
// button2 action
} else if (view == button3) {
// button3 action
} else if (view == button4) {
// button4 action
}
}
}
这篇关于RecyclerView 中的多个 onClickListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!