gpt4 book ai didi

android - 如何将 ArrayList 保存在 Bundle 对象中

转载 作者:太空狗 更新时间:2023-10-29 12:57:42 24 4
gpt4 key购买 nike

你好
我需要帮助找到一种存储方式

 ArrayList<HashMap<String,String>> 

在 Bunble 对象中,这样我可以在发生方向时在 onRestoreInstanceState(Bundle state) 中检索它们。我可以找到将简单数组存储在 Bunble 中的方法,但不是像这样的 ArrayList。

最佳答案

首先你必须有一个静态支架:

private static class Holder{
private List<BitmapDrawable>imageList = new ArrayList<BitmapDrawable>();
}

其次,当orientation开始时,你必须在orientation之后返回你想要检索的对象:

@Override
public Object onRetainNonConfigurationInstance() {
return holder;
}

最后,当您创建"new" Activity 时,必须调用 getLastNonConfigurationInstance()。 ANdroid 将返回您的支架和您的列表。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
holder = (Holder) getLastNonConfigurationInstance();
}

您可以在这里找到更详尽的解释:Faster Screen Orientation .

干杯

关于android - 如何将 ArrayList 保存在 Bundle 对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com