我得到了一个包含imageView
的哈希表的片段private HashMap<String, ImageView> mImageViewHashMap = new HashMap<String, ImageView>(30);
片段在tabhost中,当更改选项卡时,我的哈希表重置。
我是否必须实现onSaveInstanceState?我应该如何保存哈希表数据?
感谢。
答案 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;
}
}