如何以及在何处为两个RecyclerView实例设置OnClickListener侦听器

时间:2018-02-13 07:01:14

标签: java android android-recyclerview onclicklistener

我的RecyclerView中有两个Activity。我为其中一个设置了OnClickListener并实现了onItemClick方法。

如果我想为第二个OnClickListener设置onItemClick并实施RecyclerView,我该如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

向[{1}}添加侦听器的推荐方法是使RecyclerView实现侦听器,然后在传递给ViewHolder的{​​{1}}上注册侦听器构造函数。示例:

View

如果您有两个RecyclerView类,则需要以类似的方式在第二个ViewHolder实现中设置侦听器。

注意:虽然有多种方法可以为public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> public class MyViewHolder extends RecyclerView.ViewHolder implements OnClickListener { private TextView textView; public MyViewHolder(View view) { super(view); view.setOnClickListener(this); textView = (TextView)view.findViewById(R.id.tv_data); } @Override public void onClick(View v) { //do something on click using the position int adapterPosition = getAdapterPosition(); } } } 注册一个监听器,但上述方法将ViewHolder实现定义为适配器中的内部类class,并确保只有需要了解点击的类才包含处理它们的代码。

答案 1 :(得分:0)

您可以在images = pdf2image.convert_from_path('pdf path', output_folder='output path') RecyclerView上设置点击列表器。

适配器类的RecyclerviewAdapter内部。 (两个onBindViewHolder()适配器类的代码相同)

RecyclerView

或者,

@Override
public void onBindViewHolder(final MyViewHolder holder, final int position) {
    LoadDataResult listPotn = list.get(position);

    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            //Call intent or call method of Activity from here.

            Context context = v.getContext();
            Intent intent = new Intent(context , Excercise.class);
            context.startActivity(intent);
        }
    });
}