gpt4 book ai didi

android - notifyItemChanged() 是否强制调用 onBindViewHolder()?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:15:36 27 4
gpt4 key购买 nike

当我在我的 RecyclerView 上调用 notifyItemChanged() 时,相应的 Views(在本例中为按钮)没有按预期更新.我调用他们的原因是数据已经改变,这会导致他们的背景颜色改变。这是否意味着 notifyItemChanged() 不会强制调用 onBindViewHolder()

我尝试使用 notifyDataSetChanged() 并且确实会导致 View 按照我的需要重新加载,所以我知道我的实现是正确的。 (请注意,我不想使用 notifyDataSetChanged(),因为效率很低,我只将它用作完整性测试)。

最佳答案

刷新你的 ListView 注册一个新的观察者来监听数据变化。使用 registerAdapterDataObserver

适配器可能会发布描述特定更改的各种事件。并非所有适配器都支持所有更改类型,如果更具体的数据不可用,有些适配器可能会回退到通用的“某些更改”事件。

使用适配器注册观察者的组件负责在完成后注销这些观察者。

关于android - notifyItemChanged() 是否强制调用 onBindViewHolder()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com