单击RecyclerView中的侦听器

时间:2015-12-02 09:17:23

标签: android performance android-recyclerview

我多次使用RecyclerView并处理了点击监听器。但我的问题是,在RecyclerView Adapter设置点击监听器的地方更好,例如onCreateViewHolder()onBindViewHolder()ViewHolder类。因为,我知道在任何地方我们都可以实现我们的功能。

2 个答案:

答案 0 :(得分:2)

您可以为容器视图中的多个视图设置单击侦听器以用于各种目的。如果是项目单击以将侦听器添加到容器视图的最佳方法:

private final OnClickListener mOnClickListener = new MyOnClickListener();

@Override
public MyViewHolder onCreateViewHolder(final ViewGroup parent, final int position) {
    View view = LayoutInflater.from(mContext).inflate(R.layout.containerViewItem, parent, false);
    view.setOnClickListener(mOnClickListener);
    return new MyViewHolder(view);
}

onClick()实施mOnClickListener方法。

答案 1 :(得分:1)

每次将视图与data绑定时,都会调用onBindViewHolder方法。最好的方法是在onCreateViewHolder方法中设置click侦听器。

 private final OnClickListener mOnClickListener = new MyOnClickListener();

 @Override
  public ViewHolder onCreateViewHolder(final ViewGroup parent, final  int position) 
      {
       View view = LayoutInflater.from(mContext).inflate(R.layout.recycler_list_item, parent, false);
       view.setOnClickListener(mOnClickListener);
       return new ViewHolder(view);
     }

 @Override
 public void onClick(final View view) {

      }