gpt4 book ai didi

android - 维护 ListView 项目状态

转载 作者:搜寻专家 更新时间:2023-11-01 09:17:05 25 4
gpt4 key购买 nike

我的 ListActivity 绑定(bind)到一个 ArrayAdapter,我在其中覆盖了 getView() 方法。如果我在该方法中更改小部件的可见性或修改 View 的背景颜色,一旦修改后的列表项在滚动出屏幕后返回,这些更改就会以某种方式丢失。事实上,列表中的其他一些 View 正在获取更改。

如何让修改后的 View 在滚动后重新显示时看起来一样?

最佳答案

您是每次都膨胀一个新 View 还是使用传入的 convertView?

通常,适配器会尝试回收 View ,只创建足以提供平滑滚动的 View 。现有的回收 View 作为 convertView 传入。您可以每次膨胀并返回一个新 View (昂贵),或者只是根据位置重新设置 convertView(如果存在)。如果回收你需要重新设置所有 View 属性,因为不能保证你得到的回收 View 与过去用于此位置的 View 相同。

听起来你的错误是你没有正确地重新设置回收 View (convertView) 的所有属性以匹配当前位置的数据。

关于android - 维护 ListView 项目状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868819/

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