我有一个RecyclerView,我想添加新项目的顶部,但我不希望RecyclerView滚动其内容。我希望用户在添加新项目之前查看相同的项目。Android RecyclerView添加项目顶部没有回收查看滚动(如Instagram)
我试过,但它并不能很好地工作:
index = ((LinearLayoutManager)mLayoutManager).findFirstVisibleItemPosition() + response.items.size();
View v = ((RecyclerView)mListView).getChildAt(0);
top = (v == null) ? 0 : v.getTop();
// Insert new datas..
...
// Notify my adapter
myAdapter.notifyDataSetChanged();
// Stay on the same previous position
((LinearLayoutManager)mLayoutManager).scrollToPositionWithOffset(index, top);
我想要做的是加载时的老评论用户滚动到顶部(上Instagram的应用程序等)。
非常感谢你们!
谢谢Sifat,但没有效果。 – anthony
你有没有试过DiffUtil? https://medium.com/@iammert/using-diffutil-in-android-recyclerview-bdca8e4fbb00 – CodeCameo
当您使用'notifyItemRangeInserted'时,您不需要使用此...'((LinearLayoutManager)mLayoutManager).scrollToPositionWithOffset (index,top);' – CodeCameo