数据更新
数据更新在RecyclerView中非常重要,我们在自定义适配器BaseRecyclerViewAdapter中添加如下代码
/**
* 在列表最后添加一个item
* @param element item的数据
*/
public void addNewItem(@NonNull T element) {
data.add(element);
notifyItemInserted(data.size());
compatibilityDataSizeChanged(1);
}
/**
* 在指定位置添加一个item,如果position越界则添加到列表最后
* @param position item添加的位置
* @param element item的数据
*/
public void addNewItem(@IntRange(from = 0) int position, @NonNull T element) {
if (position < data.size()){
data.add(position, element);
//更新数据集用notifyItemInserted(position)与notifyItemRemoved(position) 否则没有动画效果。
//首个Item位置做增加操作
notifyItemInserted(position);
compatibilityDataSizeChanged(1);
}else {
addNewItem(element);
}
}
/**
* 在指定位置添加多个item,如果position越界则添加到列表最后
* 示