我把RecyclerView搞了个上拉加载更多加载完以后服务器会给我一个list<String>这个list里有20个string然后我在adapter里把这个和原来合并了,那么问题来了notifyItemInserted应该传什么值?传20吗?
学习是最好的投资!
notifyiteminserted(mcontentlist.size,list.size)//傳20
新增的n條資料插入清單最前面notifyItemRangeInserted(0, n);
notifyItemInserted(int position)这个方法是针对单条数据插入更新操作时使用,即在列表某个position插入一条数据,看你想做什么了。我想你需要的是notifyItemRangeInserted(int positionStart, int itemCount)这个方法,即批量添加,比如你之前已经有20条数据了,上拉加载更多新来的20条数据则是notifyItemRangeInserted(20, 20);
notifyItemInserted(int position)
notifyItemRangeInserted(int positionStart, int itemCount)
notifyItemRangeInserted(20, 20);
假設之前的資料為mLastData;總長度position= mLastData.size(); 新回傳的資料為mNewData,那麼全部資料為mLastData.addAll(mNewData);利用Recyclerview的區域刷新,notifyItemRangeChanged(position+1, mLastData.size());
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());