我有一个带有多个项目的RecyclerView。每个项目都有多个按钮来执行某些操作。
因此,我已经将ReviewerViewAdapter实现了View.OnClickListener。

但是似乎我只能在onCreateViewHolder函数中设置一个OnClickListener。

有谁知道在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
        }
    }
}

关于android - RecyclerView中有多个onClickListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32014323/

10-09 05:39