当我查看一些有关回收器视图的教程时,其中一些使用 viewHolder 构造函数来附加 onClick 侦听器,而其中一些使用 onBindViewHolder 方法。哪种方法是附加 onclicklistener 的最佳位置。我真的很困惑
方法onBindViewHolder
每次将视图与数据绑定时都会调用。所以没有设置点击监听器的最佳位置。你不必设置OnClickListener
为了一个人多次View
。所以最好的解决方案是设置点击监听器onCreateViewHolder
方法。但重要的是如何实现点击侦听器。例如,如果您想从列表中获取某些模型,您可以使用getAdapterPosition()
方法来自ViewHolder
.
看例子
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
final View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.view_magazine_list_item, null);
final ViewHolder result = new ViewHolder(view);
view.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
YourObject yourobject = yourObjectsList.get(result.getAdapterPosition()));
}
});
return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)