这里是我的代码 -是什么holder.getAdapterPosition(之间)的位置属性在onBindViewHolder(差异和构造函数)
public void onBindViewHolder(myViewHolder holder, int position) {
//1. details obj = list.get(holder.getAdapterPosition());
//2. details obj = list.get(position);
holder.position = position;
}
我得到一个警告
为固定不要把位置;只能立即使用并致电 holder.getAdapterPosition()稍后查看RecyclerView不会 当项目的位置在 数据集更改时再次调用onBindViewHolder,除非项目本身无效或无法确定新位置 。出于这个原因,您应该只在使用 方法获取相关数据项时使用位置参数 ,并且不应保留其副本。如果您稍后需要 某个项目的位置(例如,在点击侦听器中),请使用getAdapterPosition() ,稍后将更新适配器位置。
所以我很困惑从1和2哪个我应该喜欢,为什么?正如它所说的getAdapterPosition()给出了更新的位置,我从基于位置的列表中获取值。
谢谢。