[英]Returning to the Home Screen and then returning to last activity
有真正的问题了解如何解决我的问题。
在主屏幕上,我有 2 个按钮
当用户单击第一个按钮时,它会启动一个新的 Activity。 我正在寻找的是如果用户点击返回应用程序返回到主屏幕。 如果用户再次单击第一个按钮,它将启动一个新活动。
如果用户单击第二个按钮,它将返回到上次通过单击按钮 1 启动的活动
我遇到的问题是当用户点击返回时如何保存活动的 state 还有如何在按下第二个按钮时调用该活动
谢谢你的时间
更新
我已经完成了其中的一部分,但仍然有问题。 如果我放一些我正在使用的代码,也许有人可以指出我出错的地方。
从主菜单调用新活动的代码
Intent intent = new Intent(MainMenu.this, NewClass.class);
intent.putExtra("value1", value1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
在新的 class 中,我添加了以下内容:
@Override
public void onBackPressed() {
//super.onBackPressed();
Intent intent = new Intent(RoundScoring.this, MainMenu.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Toast.makeText(this, "Back Button Pressed", Toast.LENGTH_LONG).show();
}
我在这个 class 中没有 onrestoreinstancestate 或 onresumne。 只有一个oncreate。 我是否必须添加类似这样的内容才能恢复实例
在主菜单的第二个按钮上,我添加了这个
Intent intentContiune = new Intent(MainMenu.this, NewClass.class);
intentContiune.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentContiune);
谢谢
尝试这个:
主屏幕左键:打开带有意图标志的新活动,FLAG_ACTIVITY_NEW_TASK
Activity:在已启动的 Activity 上覆盖 onBackClick() 以使用 Intent 调用主屏幕,而不是完成它。 使用标志 FLAG_ACTIVITY_REORDER_TO_FRONT 保存活动 state 覆盖 OnSaveInstanceState
主屏幕右按钮:使用标志 FLAG_ACTIVITY_SINGLE_TOP 调用活动
有关标志的更多信息: http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/
一种解决方案可能涉及传递包含您活动的 state 的捆绑包。 使用 startActivityForResult(),您可以返回带有活动 state 的包。 当用户单击您的第二个按钮时,传入该捆绑包并根据捆绑包的内容设置活动。 如果捆绑包不包含您要查找的信息,则使用默认值,就像您刚刚启动它一样。
了解更多信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.