您好
我需要帮助找到存储方式
ArrayList<HashMap<String,String>>
在Bunble对象中,以便在方向发生时我可以在onRestoreInstanceState(Bundle状态)中检索它们。我可以找到在Bunble中存储简单数组的方法,但不能找到像这样的ArrayList。
答案 0 :(得分:3)
首先你必须有一个静态持有者:
private static class Holder{
private List<BitmapDrawable>imageList = new ArrayList<BitmapDrawable>();
}
第二,当方向开始时,您必须在方向后返回要检索的对象:
@Override
public Object onRetainNonConfigurationInstance() {
return holder;
}
最后,当你创建'new'活动时必须调用getLastNonConfigurationInstance()。 ANDroid会将您的持有人退回。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
holder = (Holder) getLastNonConfigurationInstance();
}
您可以在此处找到更详尽的解释:Faster Screen Orientation。
欢呼声