ExpandableListView可以通過保存每個組的展開狀態來實現展開狀態的保存。可以使用SharedPreferences或者數據庫來保存展開狀態,以下是一種常見的做法:
創建一個HashMap來保存每個組的展開狀態,key為組的位置,value為展開狀態(true表示展開,false表示關閉)。
在ExpandableListView的OnGroupExpandListener和OnGroupCollapseListener中監聽組的展開和關閉事件,然后在這兩個事件中更新HashMap中對應組的展開狀態。
當ExpandableListView需要重新加載數據時,可以在適配器的getGroupView方法中根據HashMap中保存的展開狀態來設置組的展開狀態。
在Activity的onSaveInstanceState方法中保存HashMap到SharedPreferences或數據庫中,以便在Activity被銷毀后可以恢復展開狀態。
在Activity的onCreate方法中從SharedPreferences或數據庫中獲取保存的展開狀態,并根據展開狀態設置ExpandableListView的展開狀態。
通過以上步驟,可以實現保存ExpandableListView的展開狀態。