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

    xiaoxiao2021-03-27  34

    通常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 刷新 这样写是因为加入时的动画效果有那么一小段时间,如果不延时直接刷新的话动画会卡顿,不信可以去试试。 删除也是同理。

    转载请注明原文地址: https://ju.6miu.com/read-664503.html

    最新回复(0)