在android

时间:2015-06-11 14:51:08

标签: android android-intent

我正在android studio中创建一个简单的调查应用程序。我有多个意图,当按下“下一步”按钮时,我会启动每个意图。我还有一个后退按钮,如果他们想要更改问题的答案,则会将用户带到之前的意图。当我再次前进时,没有任何答案被保存。如何让所有用户得到维护的答案?

4 个答案:

答案 0 :(得分:3)

您可以在活动中覆盖两种方法:

public void onSaveInstanceState(Bundle savedInstanceState);
public void onRestoreInstanceState(Bundle savedInstanceState);

如您所见,您可以访问Bundle“savedInstanceState”。如果用户终止活动 onSaveInstanceState()被调用,您可以保存稍后要恢复的数据。

如果您已在 onSaveInstanceState()中保存信息,则只会调用 onRestoreInstanceState()方法,并为您提供恢复该数据的机会。它提供了一个包,其中包含您在 onSaveInstanceState()期间保存到数据中的相同数据。

捆绑包基本上是一个键值列表。例如,要存储一个字符串,您只需调用该包的 putString() -Method:

savedInstanceState.putString("myKey", "Hello World");

您可以将许多数据类型存储在一个包中(通常,实现接口 Parcelable 的每个类都可以存储在一个包中)。

更多信息:

http://developer.android.com/training/basics/activity-lifecycle/recreating.html http://developer.android.com/reference/android/os/Bundle.html

答案 1 :(得分:0)

如何为您的数据使用单例类并将其存储在List或Array中。您可以为此扩展Application类,或者只创建自己的单例类。

答案 2 :(得分:0)

重新创建活动后,他们会收到回调onCreate(Bundle)。无论你在onSaveInstanceState(Bundle)中保存了什么,都会出现在Bundle中。

答案 3 :(得分:-1)

您可以实现单例类,并在扩展应用程序的应用程序中使用它。 通过map将数据存储到单例并提供getter和setter方法