我一直在四处寻找帮助,并且找不到任何可以解释它的东西。我是Android编程的新手,我正在开发我的第一个应用程序,一个纸牌游戏的得分管理员。
在MainActivity
中,我有一个ImageButton
,当按下该按钮时,会提示用户输入玩家数量和玩家姓名。完成此操作后,应用会以编程方式填写TableLayout
,其网格为TextView
,以保存分数。它会使ImageButton
和关联的TextView
消失,并使TableLayout
可见。但是,当用户转到菜单中的两个活动之一时,点击向上箭头返回MainActivity
(我在两个活动上调用getSupportActionBar().setDisplayHomeAsUpEnabled(true);
),MainActivity
还原到原始布局(就像用户刚刚打开应用程序一样)。但是,当用户通过设备返回按钮返回MainActivity
时,情况并非如此。
我知道我不能依赖onSaveInstanceState()
和onRestoreInstanceState()
,因为只有在系统破坏活动时才会调用它们(至少,这是我的理解。如果我有正确的话。错了。根据我收集的内容,如果我想保存并重新加载当前布局,我需要在onPause()
和onResume()
中执行此操作,但我不确定这样做的好方法,因为我无法有效使用Bundle
。有没有好办法解决这个问题?
答案 0 :(得分:0)
使用片段代替。当你试图打开另一个时,只需隐藏当前片段并显示/添加另一个片段
答案 1 :(得分:0)
在Android编程中,有两种更改屏幕的标准方法:
为每个屏幕创建一个活动,并通过选择具有意图的正确活动来切换屏幕。
为每个屏幕创建一个片段,并使用FragmentManager切换屏幕。
Android Developer Documentation有关于这两个方面的教程。它还拥有关于制作Android应用程序所需知识的资源。你一定要熟悉它。