Android RecyclerView中的多个onClickListener
我有一个包含多个项目的RecyclerView。每个项目都有多个按钮来执行某些操作。 因此,我将View.OnClickListener实现到我的RecycleServiceAdapter 但似乎我只能在onCreateViewHolder函数中设置一个OnClickListenerAndroid RecyclerView中的多个onClickListener,android,onclicklistener,android-recyclerview,Android,Onclicklistener,Android Recyclerview,我有一个包含多个项目的RecyclerView。每个项目都有多个按钮来执行某些操作。 因此,我将View.OnClickListener实现到我的RecycleServiceAdapter 但似乎我只能在onCreateViewHolder函数中设置一个OnClickListener 有人知道有什么解决方案可以在我的RecyclerView的每个项目中都有多个按钮吗?您可以实现OnClickListener,并在onClick函数中实现每个操作。像这样 static class MyViewHo
有人知道有什么解决方案可以在我的RecyclerView的每个项目中都有多个按钮吗?您可以实现OnClickListener,并在onClick函数中实现每个操作。像这样
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
}
}
}
让您的ViewHolder实现OnClickListener,然后您可以设置多个setOnClickListener调用我可以在哪里设置setOnClickListener?在我的ViewHolder类中?是的,只需调用v0.setOnClickListener(this);v1.setOnClickListener(此);ETC感谢你的回答,但我已经尝试过这种方法,我找到了如何获得我的持有者的位置,你可以创建自己的onclicklistener并在constructor@SocialSupaCrew它正在工作,但您正在创建四个
OnClickListener
s,为什么?只需让MyViewHolder实现OnClickListener并创建一个公共侦听器