我想将新商品设置为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();
}
});
}
我尝试了所有评论方法
你能帮我解决一下吗?
谢谢
答案 0 :(得分:4)
最后我得到了一个解决方案。设置新项目后我放了notifyItemRangeChanged
。我的解决方案是:
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);
}
});
}
我希望这对每个人都有用。感谢
答案 1 :(得分:0)
您可以使用recyclerView.scrollToPosition(pos);
,其中pos位于您希望在列表上进行某些操作后将列表视图聚焦的位置。