【发布时间】:2016-02-28 03:36:16
【问题描述】:
我有一个带有一个按钮的活动 A,用户单击它后,他会得到 AlertDialog。对话的结果(正面、中立、负面)定义了同一活动中的后续 UI。例如,如果用户单击“正”按钮,他会得到一组 3 个新按钮,如果是中性,则获得另一组 3 个按钮,如果是负数 - 什么都不会发生。
在Activity A中我也有NavigationDrawer,NavigationDrawer中的每一项都会打开一个新的Activity(Activity B、Activity C等)。
整个应用程序是这样工作的:
- onCreate Activity A 显示 Button_1
- 如果您点击 Button_1,您会看到一个带有 2 个选项的 AlertDialog
- 如果选择正按钮 -> Button_1 隐藏,Button_2、Button_3、Button_4 出现
- 如果您选择 Neutral Button -> Button_1 隐藏,并且 Button_5、Button_3、Button_4 出现
Button_2 和 Button_5 在后期可以互换(即,如果您单击 Button_2,它会消失,而 Button_5 会出现,反之亦然)。
我的主要问题是,如果我从 NavigationDrawer 中选择一个项目,应用程序会打开一个新 Activity。当我单击返回按钮返回到 Activity A 时,整个 UI 将重置为 Button_1 在屏幕上的状态。
当我们从活动 B、C 返回时,我想要实现的是保留按钮集(无论用户在后期点击了什么)。
从活动 B(C、D、...)移回(或关闭)后,如何保存和恢复活动 A 的当前状态?
【问题讨论】:
-
使用
SharedPreferences保存数据并在onResume获取数据 -
有必要吗?即使应用程序关闭,AFAIK SharedPreferences 也会保留。
标签: android user-interface android-activity