答案 0 :(得分:10)
当然你会失去焦点。因为当您通过调用方法通知*已更改刷新RecyclerView时,没有视图可以获得焦点。
当您调用方法notifyDatasetChanged()
时,我有一种不完美的方法可以将焦点保持在RecyclerView中。
@Override
public long getItemId(int position) {
return position;
}
adapter.setHasStableIds(true);
mRecyclerView.setItemAnimator(null);
祝你好运!关于稳定身份证:Android: How to make an adapter with stable ids?
关于禁用动画师:How to implement ItemAnimator of RecyclerView to disable the animation of notifyItemChanged
关于google代码中step3的原因:
https://code.google.com/p/android/issues/detail?id=204277
答案 1 :(得分:1)
使用 notifyItemRangeInserted(位置,大小); 如果你要插入物品。