安卓RecyclerView问题

我把RecyclerView搞了个上拉加载更多加载完以后服务器会给我一个list<String>这个list里有20个string然后我在adapter里把这个和原来合并了,那么问题来了notifyItemInserted应该传什么值?传20吗?

阅读 3.5k
4 个回答

notifyiteminserted(mcontentlist.size,list.size)//传20

新增的n条数据插入列表最前面
notifyItemRangeInserted(0, n);

notifyItemInserted(int position)这个方法是针对单条数据插入更新操作时使用,即在列表某个position插入一条数据,看你想做什么了。我想你需要的是notifyItemRangeInserted(int positionStart, int itemCount)这个方法,即批量添加,比如你之前已经有20条数据了,上拉加载更多新来的20条数据则是notifyItemRangeInserted(20, 20);

假设之前的数据为 mLastData;总长度position= mLastData.size();
新返回的数据为mNewData,那么全部数据为mLastData.addAll(mNewData);
利用Recyclerview的区域刷新,notifyItemRangeChanged(position+1, mLastData.size());

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏