Android - StableID 的含义是什么?

标签 android listview

我正在实现 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/

相关文章:

android - 如何使用自定义 View 中的按钮从 ListView 中删除自定义 View

C# Windows 通用应用程序 ListView 所选项目内容

android - 使用arrayadapter向 ListView 动态添加项目

android - 以编程方式 Fling ListView Android

android - Xamarin - Android - 启动画面(多个)

android - 右侧的抽屉导航未保持打开状态

java - 使用函数更改位图颜色

flutter - Assets 图像未显示在 flutter 应用程序的发布版本中?

java - 取消/中止/中断 spring-android resttemplate 请求

android - 如何在其中添加带有textview的彩色矩形