有真正的问题了解如何解决我的问题。
在主屏幕上,我有2个按钮
当用户点击第一个按钮时,它会启动一个新的Activity。我要找的是如果用户点击后面的应用程序返回到主屏幕。如果用户再次单击第一个按钮,则会启动新活动。
如果用户单击第二个按钮,则会通过单击按钮1
返回上次启动的活动我遇到的问题是如何在用户点击时保存活动状态 还有如何在按下第二个按钮时调用该活动
感谢你的时间
更新
我已经失去了部分但仍然有问题。如果我放了一些我正在使用的代码,也许有人可以指出我出错的地方。
从主菜单调用新活动的代码
Intent intent = new Intent(MainMenu.this, NewClass.class);
intent.putExtra("value1", value1);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
在新课程中,我添加了以下内容:
@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();
}
我在本课程中没有onrestoreinstancestate或onresumne。只是一个创造。我是否必须添加这样的内容才能恢复实例
在主菜单上的第二个按钮上,我添加了
Intent intentContiune = new Intent(MainMenu.this, NewClass.class);
intentContiune.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentContiune);
由于
答案 0 :(得分:1)
试试这个:
主屏左键: 使用意图标志FLAG_ACTIVITY_NEW_TASK
打开新活动活性: 在已启动的活动上覆盖onBackClick()以使用Intent调用主屏幕而不是完成它。使用标志FLAG_ACTIVITY_REORDER_TO_FRONT 保存活动状态覆盖OnSaveInstanceState
主屏右键: 使用标志FLAG_ACTIVITY_SINGLE_TOP
调用活动有关旗帜的更多信息: http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/
答案 1 :(得分:0)
一种解决方案可能涉及传递包括您的活动状态的包。使用startActivityForResult(),您可以返回包含活动状态的包。当用户单击您的第二个按钮时,传入该捆绑包并让活动根据捆绑包的内容自行设置。如果捆绑包中不包含您要查找的信息,请使用默认值,就像刚刚启动它一样。
了解更多信息: