我想将新项目设置在recyclerview的顶部。但是当我设置项目时,recyclerview会自动滚动到顶部。
我试了很多代码,但我不能解决这个问题。
这是我的addItem
方法:
public void addItem(final ArrayList<String> list) {
for (int i=0; i< list.size();i++){
items.add(i,list.get(i));
}
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
// notifyDataSetChanged();
// notifyItemRangeInserted( 0,list.size() );
// notifyItemInserted();
notifyItemRangeInserted(10,11);
// notifyDataSetChanged();
}
});
}
我尝试了所有的注释方法。
你能帮我解决这个问题吗?
谢谢
最后我有了一个解决方案。我把notifyItemRangeChanged
放在set new Items之后。我的解决方案是:
public void addItem(final ArrayList<String> list,int h) {
final int oldsize = items.size();
for (int i=list.size()-1; i>=0 ;i--){
items.add(0,list.get(i));
}
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
notifyItemRangeInserted(0,items.size()-oldsize);
}
});
}
我希望这对每个人都有用。由于
您可以使用recyclerView.scrollToPosition(pos);
,其中pos是您想要在列表上进行一些操作后将列表视图集中在的位置