后退或关闭其他活动后保存并恢复当前活动状态

时间:2015-11-25 11:07:32

标签: android user-interface android-activity

我用一个按钮获得了一个活动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出现
  • 如果您选择中性按钮 - > Button_1隐藏,Button_5,Button_3,Button_4出现

Button_2和Button_5在后续阶段可以互换(例如,如果你点击Button_2它就会消失而Button_5会显示出来,反之亦然)。

我的主要问题是如果我从NavigationDrawer中选择一个项目,那么应用程序会打开一个新的Activity。当我单击后退按钮返回活动A时,整个UI将重置为Button_1在屏幕上的状态。

当我们从活动B,C返回时,我想要实现的是保留按钮组(无论用户在后续阶段点击了什么)。

如何从活动B(C,D,...)移回(或关闭)后保存并恢复当前的活动状态A?

1 个答案:

答案 0 :(得分:0)

使用file.bak管理活动状态。

例如:

category-blog.php?catid=2

检索状态使用onRestoreInstanceState

Bundle

https://developer.android.com/training/basics/activity-lifecycle/recreating.html

您还可以使用 IcePick 库轻松维护状态 https://github.com/frankiesardo/icepick