我有两项活动:
第一个活动包含2个数组,通过调用Web服务填充数据。这两个数组都用于在ListView中显示数据。点击任何列表项,我打开新活动活动-2,在这里我发布与所选列表项相关的数据。
但是我遇到麻烦当我从Activity-2返回到Activity-1时,它再次将数据从Webservice提取到数组中(而不是,如果从第二个发布任何内容,它应该用于获取数据活动,否则它应该保留数组值)。所以我的问题是如何保留两个数组的值,以便我保持相同的值。所以它不必一次又一次地取出。
(我想我需要使用“保存活动状态”这样的概念,但我还没有实现这样的概念,所以如果你知道的话请告诉我同样的事情。)
我已添加“(而不是,如果第二个活动发布了任何内容,则应该获取数据,否则应该保留数组值)”
答案 0 :(得分:2)
您可以将检索到的值放在Bundle
传递给onSaveInstanceState
:
@Override
protected void onSaveInstanceState(Bundle outState) {
// Put your values into outState
outState.putStringArray("my.project.str.array", stringArray);
outState.putStringArrayList("my.proj.str.array.list", strArrayList);
// read the documentation on Bundles to see complete
// list of values you can put in
super.onSaveInstanceState(outState);
}
然后您可以通过onRestoreInstanceState
将其取回。
编辑:您可以输入多个字符串数组或字符串数组列表或任何值,只要每个键的键不同。