2016-11-22 90 views
0

所以这里是问题,我执行A→B并从BI做B→C,现在当在CI中按下后退按钮时想要返回到A.所以在启动流程是A→B→C,但我想在启动C时清除B,所以当从CI返回时按回到A. 我知道我可以从C和CLEAR_TOP启动A,但是我正在寻找另一种替代方法是一个。onBackPressed()应该调用以前的活动的onBackPressed()

谢谢

+5

如何在'Activity' C中调用'Activity' B中的'finish()'?当然,在'startActivity'后面调用'finish()'。 –

+0

在B里,启动C后调用'finish()'。 –

+0

为了确认我不得不问这个A,B和C是同一个活动中的片段吗? – Nithinlal

回答

2

你可以调用finish();在你开始对B的意图之后。

2

呼叫finish();传球意图你不想在回来按开启活动后。

3

你只需要调用finish()

Intent intent = new Intent(this, NextActivity.class); 
startActivity(intent); 
finish(); 
1
Intent intent = new Intent(this, C.class); 
startActivity(intent); 
finish(); 

如果你启动C活动后调用finish(),在B活动。您可以从堆栈中删除B活动。所以如果你按下C键,你会看到一个活动。

2
//FROM A TO B 
    Intent A = new Intent(A.this,B.class); 
    startActivity(A); 

    //FROM B TO C 
    Intent B = new Intent(B.this,C.class); 
    startActivity(B); 
    finish(); 

    //FROM C TO A 
    onBackPressed(); you can go directly to A. 

希望这可以帮助你。