片段 - 如何保存/恢复哈希表数据

时间:2014-04-04 06:49:52

标签: android

我得到了一个包含imageView

的哈希表的片段
private HashMap<String, ImageView> mImageViewHashMap = new HashMap<String, ImageView>(30);

片段在tabhost中,当更改选项卡时,我的哈希表重置。

我是否必须实现onSaveInstanceState?我应该如何保存哈希表数据?

感谢。

2 个答案:

答案 0 :(得分:0)

使用Shared Preferences存储数据,或者每次单击选项卡时都需要传递哈希表数据...

答案 1 :(得分:0)

至于我的理解,你无法将ImageView转换为Serializable对象,因为ImageView是非Serializable对象,并且没有公共no-args构造函数。具有上下文的图像视图。上下文对象不可序列化。

尝试使用静态单例类来存储临时视图,如

public class DataStore{
private HashMap<String,ImageView> imageMap = null;
public static void setImageMap(HashMap<String,ImageView> map){
DataStore.imageMap  = map;
}
public static HashMap<String,ImageView> getImageMap(){
return DataStore.imageMap;
}
}