RecyclerView 中的多个 onClickListener [英] Multiple onClickListener in a RecyclerView

查看:34
本文介绍了RecyclerView 中的多个 onClickListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含多个项目的 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆