android notifyItemRangeInserted禁用自动滚动

时间:2014-11-22 16:50:37

标签: android android-adapter android-recyclerview

我正在使用RecyclerView作为我的数据列表的基础。 我已经实现了基于ArraList的自定义RecyclerView.Adapter。从互联网上获取数据我正在运行的代码是:

public void addItems(List<Item> items){

    final int size = data.size();
    data.addAll(items);
    notifyItemRangeInserted(size, items.size());
}

问题是,在运行此代码之后,我将自动滚动到列表的底部(最后一个元素现在可见)

有没有办法禁用它?找不到任何类似的问题。

相关信息:我的适配器有2个viewHolders - 对于位置0,它有一个视图(viewType为0) 对于列表的其余部分,它具有viewType 1

的视图

感谢您的帮助!

罗伊

1 个答案:

答案 0 :(得分:29)

问题出在你的位置开始。应该是:

public void addItems(List<QuestItem> items){    
    final int positionStart = data.size() + 1;
    data.addAll(items);
    notifyItemRangeInserted(positionStart, items.size());
}