RecyclerView中getLayoutPosition与getAdapterPosition的区别

getLayoutPosition与getAdapterPosition区别详解

RecyclerView.ViewHolder – getLayoutPosition vs getAdapterPosition


当我们在使用RecyclerView的getLayoutPosition与getAdapterPosition时

具体区别就是adapter和layout的位置会有时间差(<16ms), 如果你改变了Adapter的数据然后刷新视图, layout需要过一段时间才会更新视图, 在这段时间里面, 这两个方法返回的position会不一样.

int pos = holder.getAdapterPosition();
if (pos == -1) {
    return;
}

发表评论