我正在实现 ExpandableListView 的 ListAdapter,在工作时我发现我需要覆盖函数 boolean hasStableIds()。 谁能解释一下稳定ID的含义是什么?我什么时候需要这个?
最佳答案
稳定的 ID 允许 ListView
针对 notifyDataSetChanged
调用之间的项目保持相同的情况进行优化。它引用的 ID 是从 getItemId
返回的 ID。
没有它,ListView
必须重新创建所有 View
,因为它无法知道项目 ID 在数据更改之间是否相同(例如,如果 ID 是只是数据中的索引,它必须重新创建所有内容)。有了它,它可以避免重新创建保留其项目 ID 的 View
。
关于Android - StableID 的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18217416/