Android - 移动到另一个活动并从另一个活动返回时保留数组值

时间:2010-12-14 06:08:13

标签: android

我有两项活动:

第一个活动包含2个数组,通过调用Web服务填充数据。这两个数组都用于在ListView中显示数据。点击任何列表项,我打开新活动活动-2,在这里我发布与所选列表项相关的数据。

但是我遇到麻烦当我从Activity-2返回到Activity-1时,它再次将数据从Webservice提取到数组中(而不是,如果从第二个发布任何内容,它应该用于获取数据活动,否则它应该保留数组值)。所以我的问题是如何保留两个数组的值,以便我保持相同的值。所以它不必一次又一次地取出。

(我想我需要使用“保存活动状态”这样的概念,但我还没有实现这样的概念,所以如果你知道的话请告诉我同样的事情。)

更新

我已添加“(而不是,如果第二个活动发布了任何内容,则应该获取数据,否则应该保留数组值)”

1 个答案:

答案 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将其取回。

编辑:您可以输入多个字符串数组或字符串数​​组列表或任何值,只要每个键的键不同。