切换活动之间

时间:2017-06-21 14:40:56

标签: android android-intent

我有3个屏幕:A,B,C 从A开始,我使用Intent切换到B,从B切换到C.

如何从C切换回A(C和B都必须被销毁,A是我正在处理的屏幕)?

2 个答案:

答案 0 :(得分:1)

这是为了让你从C

回到A而被解雇的方法的顺序
A - startActivityForResult   
B - startActivityForResult   
C - finish()   
B - onActivityResult, finish()   
A - onActivityResult   

根据您是否需要结果,只需startActivity& finish

答案 1 :(得分:0)

你有两种方式:

1)再次启动活动A,在C中使用清除堆栈:

Intent intent = new Intent(getContext(), A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
Intent.FLAG_ACTIVITY_CLEAR_TASK);
            startActivity(intent);

2)你可以为结果启动B和C,然后在'onActivityResult'中关闭它们:

例如在B中,当你想要启动C

Intent intent = new Intent(context,C.class);
startActivityForResult(intent, 1000);
当你想退出时,在

    Intent intent = new Intent();
    intent.putExtra("should_exit",true);
    setResult(RESULT_OK,intent);
    finish();

和B(已经落后于C)

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        if (requestCode == 1000) {
            boolean shouldExit = data.getBooleanExtra("should_exit", false);
            if (shouldExit)
                finish();
        }
    }
}