【问题标题】:Android ListView Adapter notifyDataSetInvalidated() vs notifyDataSetChanged()Android ListView 适配器 notifyDataSetInvalidated() 与 notifyDataSetChanged()
【发布时间】:2011-09-16 19:51:08
【问题描述】:

有什么区别? android 文档没有关于 notifyDataSetInvalidated() 的描述。我在想也许您调用该函数来通知所有注册的侦听器,但使用 notifyDataSetChanged() 不通知他们?

【问题讨论】:

    标签: android android-listview android-adapter


    【解决方案1】:

    Changed 表示数据集发生了变化。更新了单个项目,或者添加或删除了项目。无效意味着数据源不再可用。

    【讨论】:

    • 为了扩展这一点,来自 Romain Guy 的回复:“notifyDataSetInvalidated() 意味着适配器内的数据不再有效。这将导致 ListView 停止填充。应该很少有任何理由使用它。”
    • 为了进一步解释 @Glendon 的评论,this Google groups threadthis one 包含类似的问题,由一位名叫 Romain Guy 的 Android 框架工程师回答。
    • 如果有人对调用这些方法时以编程方式在幕后发生的事情感兴趣,请参阅我的回答 here
    • 这些方法的文档已针对即将发布的版本进行了扩展。
    猜你喜欢
    • 1970-01-01
    • 2021-08-28
    • 2023-03-10
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多