如何在打开另一个时保存给定活动的当前布局?

时间:2016-09-20 02:04:16

标签: android

我一直在四处寻找帮助,并且找不到任何可以解释它的东西。我是Android编程的新手,我正在开发我的第一个应用程序,一个纸牌游戏的得分管理员。

MainActivity中,我有一个ImageButton,当按下该按钮时,会提示用户输入玩家数量和玩家姓名。完成此操作后,应用会以编程方式填写TableLayout,其网格为TextView,以保存分数。它会使ImageButton和关联的TextView消失,并使TableLayout可见。但是,当用户转到菜单中的两个活动之一时,点击向上箭头返回MainActivity(我在两个活动上调用getSupportActionBar().setDisplayHomeAsUpEnabled(true);),MainActivity还原到原始布局(就像用户刚刚打开应用程序一样)。但是,当用户通过设备返回按钮返回MainActivity时,情况并非如此。

我知道我不能依赖onSaveInstanceState()onRestoreInstanceState(),因为只有在系统破坏活动时才会调用它们(至少,这是我的理解。如果我有正确的话。错了。根据我收集的内容,如果我想保存并重新加载当前布局,我需要在onPause()onResume()中执行此操作,但我不确定这样做的好方法,因为我无法有效使用Bundle。有没有好办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用片段代替。当你试图打开另一个时,只需隐藏当前片段并显示/添加另一个片段

答案 1 :(得分:0)

在Android编程中,有两种更改屏幕的标准方法:

  1. 为每个屏幕创建一个活动,并通过选择具有意图的正确活动来切换屏幕。

  2. 为每个屏幕创建一个片段,并使用FragmentManager切换屏幕。

  3. Android Developer Documentation有关于这两个方面的教程。它还拥有关于制作Android应用程序所需知识的资源。你一定要熟悉它。