当前位置:  开发笔记 > Android > 正文

如何覆盖RecyclerView Adapter的notifyDataSetChanged,notifyItemChanged ...方法

如何解决《如何覆盖RecyclerViewAdapter的notifyDataSetChanged,notifyItemChanged方法》经验,为你挑选了2个好方法。

作为标题.我正在编写一个支持多选模式的自定义RecyclerView.我需要跟踪每个项目的选定/未选择状态.因此,在RecyclerView的数据大小发生变化之后.我想更新跟踪状态列表的大小.但我不知道在哪里重写方法:notifyDataSetChanged,notifyItemChagned ....



1> mikepenz..:

正如之前的答案已经正确陈述.你不能因为那些方法是最终的.

实现FastAdapter时我遇到了同样的情况

我想出的唯一解决方案是将这些方法命名为略有不同.notifyDataSetChanged- > notifyAdapterDataSetChanged https://github.com/mikepenz/FastAdapter/blob/develop/library/src/main/java/com/mikepenz/fastadapter/FastAdapter.java#L1354

public void notifyAdapterDataSetChanged() {
    //... your custom logic
    notifyDataSetChanged();
}

对于库来说,改进关于这一点的文档是非常重要的,但它是目前唯一的解决方案.



2> Kishore Jeth..:

你不能,因为它final在这里RecyclerView.Adapter 看到

您可以override使用BaseAdapterListView

@Override
public void notifyDataSetChanged() {
    // TODO Auto-generated method stub
    super.notifyDataSetChanged();
}

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有