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