我正在使用ExpandableListView创建应用程序,我引用了一些教程。hasStableIds()设置为false吗?将hasStableIds()设置为false的确切需要是什么?

最佳答案

hasStableIds() 的文档



在更改适配器的数据时使用它,每次更改数据时,ExpandableListView应该更新其 View 以反射(reflect)更改。

如果为true,则ExpandableListView可以在ID相同的情况下重用相同的View

如果为false,则应该重新创建所有 View ,因为它不知道会发生什么变化。

我引用的ID是 getGroupId getItemId返回的ID。

您也应该重写此方法!

一些问题:

  • BaseAdapter: set hasStableIds() to false?
  • Android - what is the meaning of StableIDs?
  • 10-08 17:44