问题描述
如题所述,最好不要每次都new一个listener
问题解答
回答1:在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);}@Overridepublic 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(); }} }回答2:
在adapter的onbindviewholder中给item的view的layout设置一个onclicklistener,给那个Button设置一个listener
回答3:推荐https://github.com/CymChad/Ba...