如何在不滚动到顶部的情况下将新项目添加到recyclerview

时间:2016-10-05 15:23:00

标签: java android android-recyclerview recycler-adapter

我想将新商品设置为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();
        }
    });




}

我尝试了所有评论方法 你能帮我解决一下吗?
谢谢

2 个答案:

答案 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位于您希望在列表上进行某些操作后将列表视图聚焦的位置。

相关问题