【发布时间】:2013-04-13 21:38:22
【问题描述】:
我是 android 开发的初学者,我正在处理一个可能很容易解决的问题。 我有一个主要活动,它是一个菜单,用户可以单击菜单上的项目。然后使用 startActivity(new Intent("com.example.test.FIRSTITEM")); 启动一个新的活动。此活动开始一个带有少量编辑文本的布局。我在里面写了一些东西。然后回到 MainActivity(菜单所在的位置),必须按下返回按钮。 现在我想要的行为是,如果我返回带有编辑文本的 Activity,我希望它们处于相同的状态 - 这意味着内容不会被清除。 我搜索了很多并尝试了 android:launchMode="" 的所有选项(singleTop、singleInstance、singleTask)。 从 MainActivity 开始新意图时,我还尝试使用标志: startActivity(new Intent("com.example.test.FIRSTITEM").setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP)) 我尝试过使用 onSavedInstanceState(Bundle bundle) 但是在按下后退按钮时永远不会调用这个(可能是因为活动还没有真正完成)
我确信答案很简单,但我似乎找不到。我一定错过了活动如何运作的一些逻辑。 提前感谢您的帮助。
【问题讨论】:
-
当您返回活动检索数据并将数据设置为editext时,您需要将editext中的数据存储在某处。developer.android.com/guide/topics/data/data-storage.html#pref
-
那么共享首选项选项是唯一可行的吗?我认为这主要用于在应用程序完全关闭后保存数据。如果我在停止应用后不需要保留数据,我认为会有一种更简单的方法来做到这一点。
-
developer.android.com/guide/topics/data/data-storage.html 检查其他存储选项的链接。使用您的应用需要的那个
-
共享首选项似乎是最适合我的应用的选项。现在它按预期工作。感谢您的提示
标签: android android-edittext state retain