ExpandableListView可以通过保存每个组的展开状态来实现展开状态的保存。可以使用SharedPreferences或者数据库来保存展开状态,以下是一种常见的做法:
创建一个HashMap来保存每个组的展开状态,key为组的位置,value为展开状态(true表示展开,false表示关闭)。
在ExpandableListView的OnGroupExpandListener和OnGroupCollapseListener中监听组的展开和关闭事件,然后在这两个事件中更新HashMap中对应组的展开状态。
当ExpandableListView需要重新加载数据时,可以在适配器的getGroupView方法中根据HashMap中保存的展开状态来设置组的展开状态。
在Activity的onSaveInstanceState方法中保存HashMap到SharedPreferences或数据库中,以便在Activity被销毁后可以恢复展开状态。
在Activity的onCreate方法中从SharedPreferences或数据库中获取保存的展开状态,并根据展开状态设置ExpandableListView的展开状态。
通过以上步骤,可以实现保存ExpandableListView的展开状态。