如下图所示,我有2项活动。
"活动1"开始"活动2"。
在步骤3中,当我按下后退按钮时,"活动2"出现!事实上,当我在活动中按回按钮时(第2步和第3步之间)发生无限循环!!!
我不想覆盖BACK BUTTON,但似乎我必须!!!
我该如何解决?
#UPDATE :
第1步:
Intent Game_Activity = new Intent(FirstActivity.this, SecondActivity.class);
Game_Activity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Game_Activity);
第2步:
@Override
public void onBackPressed()
{
//Return to Menu Activity
Intent Sec_Activity = new Intent(SecondActivity.this, FirstActivity.class);
startActivity(Sec_Activity);
}
第3步:
@Override
public void onBackPressed()
{
finish();
}
答案 0 :(得分:1)
删除重新排序到前面的标志,没有必要......当恢复时,如果应用程序尚未被销毁,则恢复当前活动。这将恢复正常的后退按钮行为和活动顺序。
如果你想维持应用程序的当前状态,即使它已从内存中删除,请查看http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)
这将是一个很好的起点。
答案 1 :(得分:0)
致电Activity1
至Activity2
Intent intent = new Intent(Activity1.this, Activity2.class);
startActivity(intent);
在Activity2
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
finish();
}
答案 2 :(得分:0)
在您的第一个Activity
步骤1中:
Intent Game_Activity = new Intent(FirstActivity.this, SecondActivity.class);
Game_Activity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Game_Activity);
finish();
在Intent
答案 3 :(得分:0)
活动一
Intent Game_Activity = new Intent(FirstActivity.this, SecondActivity.class);
Game_Activity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Game_Activity);
活动二
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
}
或强>
活动一
Intent Game_Activity = new Intent(FirstActivity.this, SecondActivity.class);
Game_Activity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(Game_Activity);
finish();
活动二
public void onBackPressed() {
Intent i= new Intent(secondActivity.this, FirsActivity.class);
startActivity(i);
finish()
}
答案 4 :(得分:0)
我最近遇到了同样的问题。将其添加到Activity1对我来说很有效。
public void onBackPressed() {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}