Android - 如何返回以前的不同活动

时间:2015-10-09 15:11:01

标签: java android

我的应用中有几个活动/页面。从第一个活动开始,我可以开第二个活动。在第二个活动中,玩游戏。一旦这个游戏结束,一个新的活动开始。在那个新活动中,我有一个完成它的按钮,使用finish(),它返回我与游戏的活动。我还有一个按钮,将其返回到第一个活动。这是一个澄清的图表:

img

当我使用finish()返回游戏活动时,游戏将在州内。我想重置所有变量和小部件,但我不知道如何通过在最终活动中调用finish()来检查我是否进入了此页面。

Q1:如何检查我是否因为完成另一项活动而进入某项活动?

我还有另一个问题 - 我可以在button2中使用什么方法来完成最后的活动以及堆栈上的所有先前活动(第一个活动除外),因此在这种情况下它将是最终活动和游戏活动),为了返回第一个活动?在stackoverflow的其他答案中,我找到了使用FLAG_ACTIVITY_CLEAR_TOP的建议,但如果我这样做,我再也无法使用button1返回游戏活动。

Q2:我如何才能返回第一项活动,同时仍允许我使用finish()返回其他活动?

我使用的代码返回上一个活动:

// called from button1's onClick 
public void goBack(View button1){
    finish();
}

回到第一个活动:

public void toFirstActivity(View button2){
    Intent previousPage = new Intent();
    previousPage.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    finish();
}

0 个答案:

没有答案