基于问题How can I update a single row in a ListView?我想更新我正在更改的行旁边的所有可见行。我可以使用 listView.getChildAt(index)
获取我想要的任何行,但我不知道如何将返回的 View 与我已有的另一个 View 进行比较。它们的 ID 基于 XML 文件中的 View 定义,因此所有行都具有相同的 ID。
欢迎任何帮助,在此先感谢。
最佳答案
这个问题是针对一个非常具体的案例。如果你想更新所有行,那么
- 只有“现在在屏幕上可见”的行才是
ListView
的实际 subview 。想要更新其他人甚至没有意义。 - 实际上,为每个 subview 单独执行此操作是刷新整个
ListView
的一种非常迂回的方式。
只需更改适配器的支持数据,然后对其调用 notifyDataSetChanged()
。它将刷新所有可见项目(为每个项目调用 getView()
),并且当您滚动时,新项目也将显示为已更新。
关于android - 如何更新我在 ListView 中单击的行旁边的所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24564104/