recyclerview如何给item设置onclicklistener 同时给item中的一个button设置onclick

如题所述,最好不要每次都new一个listener

阅读 4.5k
3 个回答

在ViewHolder中获取到部件再设置监听

class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
        public TestHolder(View view){
            super(view);
            view.setOnClickListener(this);
            View button = view.findViewById(R.id.recycler_item_button);
            button.setOnClickListener(this);

        }
        @Override
        public void onClick(View v) {
            if(v.getId() == R.id.recycler_item_button){
                Toast.makeText(context,"button"+getAdapterPosition(),Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(context,"item"+getAdapterPosition(),Toast.LENGTH_SHORT).show();
            }
        }
    }

在adapter的onbindviewholder中给item的view的layout设置一个onclicklistener,给那个Button设置一个listener

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题