【发布时间】:2014-08-24 15:28:30
【问题描述】:
我有一个 ExpandableListView,用户可以在其中选择属于不同类别的不同项目。他的选择存储在ArrayList<Selected_Group>。这是 Selected_Group 对象的代码:
public class Selected_Group extends Group {
private int selected_group_id;
private int trip_id;
private int group_id;
private ArrayList<Selected_Item> arr_selected_items;
private int marked_counter = 0;
// Constructors...
// Getters & setters
// Other methods
}
请注意,Selected_Group 对象还包含一个 ArrayList - 该组的选定项。
当活动停止时(例如,打电话),我想将 ArrayList 存储在 SharedPreferences 中,并在它恢复时 - 检索它。此外,当用户点击 Save 按钮时 - 从 SharedPreferences 中删除存储的 ArrayList。
有可能吗?如果是 - 如何?
【问题讨论】:
-
您应该考虑使用其他形式的持久存储,例如 sqlite
-
一旦用户点击保存按钮,所有值都将存储在 sqlite db 中,我想将此 ArrayList 临时存储在 SharedPreferences 中,以防必须重新创建活动:屏幕方向更改或传入电话...
-
你尝试过 onSaveInstanceState 吗?
-
使您的对象可打包并将它们保存为 putParcelableArrayList
标签: android arraylist sharedpreferences