如何将一个 onClickListener 应用于多个视图持有者

How do I apply one onClickListener to multiple viewholders

所以我有 ViewHolders titledescription,单击它们将执行完全相同的操作。 setOnClickListener 方法在此方法中定义:

@Override
public void onBindViewHolder(final RecycleViewAdapter.ViewHolder holder, int position) {
    holder.title.setOnClickListener(new View.OnClickListener(){
        // does A
    });
    holder.description.setOnClickListener(new View.OnClickListener() {
        // does A
    });
}

除了从抽象 class 扩展之外,还有其他方法吗?

不要在onBindViewHolder方法中写OnClickListener,每次滚动列表时都会调用

你必须在取景器中制作它class

public class CustomViewHolder extends RecyclerView.ViewHolder {


        TextView tv_desc, tv_title;

        public PlanetViewHolder(View itemView) {
            super(itemView);

            tv_desc = (TextView) itemView.findViewById(R.id.tv_desc);
            tv_title = (TextView) itemView.findViewById(R.id.tv_title);
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

            //your code of on click
                }
            });
        }
    }