添加或删除RecyclerView的item后 刷新Adapter中的数据源的个数

来源:互联网 发布:河南公务员网络培训app 编辑:程序博客网 时间:2024/06/05 18:53

通常Recycler给Adapter赋上数据源的时候利用:

adapter.notifyDataSetChanged();

这样一般是在初始化界面 从网络获取到数据后 直接赋给adapter的写法。

然后再动态的增加条目,又希望带有动画效果,可以这么写:

adapter.notifyItemRangeInserted(int positionStart, int itemCount);

嗯,在RecyclerView中 数据给加上去了 并且有一个动画效果。
但是,注意Adapter 中,这个数据源并没有增加。
这时,就要用到 notifyDataSetChanged() 这个方法了
在 调用加入的方法后 再调用全部刷新的方法。我的写法是这样的:

adapter.notifyItemRangeInserted(int positionStart, int itemCount);new Handler().postDelayed(new Runnable() {     @Override     public void run() {           adapter.notifyDataSetChanged();     }},400);

利用Handler延时400ms 刷新 这样写是因为加入时的动画效果有那么一小段时间,如果不延时直接刷新的话动画会卡顿,不信可以去试试。
删除也是同理。

3 0
原创粉丝点击