Android:从OnBackPressed()调用意图时的最佳实践

时间:2014-06-05 03:31:46

标签: android button android-intent

Bonjur!以下代码旨在作为Android应用程序中将用户返回到上一页的活动的后退按钮覆盖。

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub

    //building new intent to go back to the main menu

    Intent openMainMenu = new Intent ("com.developmentsfoo.foobarbab.MAINMENU");
    startActivity(openMainMenu);

    super.onBackPressed();
}

我的问题是,这个意图已经被调用,在另一个.java中实际上是相同的上下文,作为onClick的一部分。有没有办法在其他页面上调用来自其他方法的意图,或者最好是在你想要回去的页面上创建新意图?是否会增加开销?在某些情况下,一个简单的setContentView方法会起作用吗?

2 个答案:

答案 0 :(得分:1)

如果它来自 MainMenu.class ,你必须在从当前活动转到另一个活动时执行finish(),你不需要自动执行onBackPress回到那里,因为当你按下后退按钮时它在活动堆栈中。

答案 1 :(得分:1)

OnBackPressed()基本上会从活动堆栈中杀死你的活动,所以为此你需要调用finish(),你将自动进入这个可填充活动背后的活动。