在Android和循环中切换活动

时间:2015-04-20 08:31:00

标签: android android-intent android-activity

如下图所示,我有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();
}

enter image description here

5 个答案:

答案 0 :(得分:1)

删除重新排序到前面的标志,没有必要......当恢复时,如果应用程序尚未被销毁,则恢复当前活动。这将恢复正常的后退按钮行为和活动顺序。

如果你想维持应用程序的当前状态,即使它已从内存中删除,请查看http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

这将是一个很好的起点。

答案 1 :(得分:0)

致电Activity1Activity2

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);
        }