2012-02-13 114 views
1

我正在开发Android应用程序,我在寻找解决方案。使用后退按钮开始活动

有一个活动(说A1),通过点击一个按钮,用户转到另一个活动(比如A2)。现在,一旦用户完成了A2活动,他点击后退按钮,返回到前一个活动A1。 这是一个众所周知的事实,A1会在这一点自动恢复。

但我想以不同的方式(因为我的应用程序要求)。

一旦我从A1开始活动A2,A1就会被销毁;如果点击后退按钮,则在A2中,然后再次创建A1。

任何人都可以告诉我如何使这项工作?

+1

A1必须被摧毁的特别之处是什么? d并被重新创建?如果你的例子中有一些在onCreate()过程中完成的过程,我想你可能会将onCreate()中的大部分代码移动到onResume()。 – 2012-02-13 06:41:17

+0

请检查http://stackoverflow.com/questions/4778754/kill-activity-on-back-button哪些可能有所帮助。 谢谢, Developerjigar – 2012-02-13 06:41:21

+0

@ VictorWong ~~已经试过了,没有奏效。但似乎我需要重新创建它。 – ikis 2012-02-13 06:49:29

回答

11

你可以使用:

public void onBackPressed() 
{ 
    //do whatever you want the 'Back' button to do 
    //as an example the 'Back' button is set to start a new Activity named 'NewActivity' 
    this.startActivity(new Intent(YourActivity.this,NewActivity.class)); 

    return; 
} 

看看这里:http://www.41post.com/1685/programming/android-changing-the-back-button-behaviour

+1

我不确定这是否符合他的需求,因为他想让A1被摧毁。 – 2012-02-13 06:42:44

+0

是的,我认为是这样,但他的问题的答案是这个代码。 – 2012-02-13 06:44:13

+0

@Behnam Safari ~~谢谢你。 – ikis 2012-02-13 06:46:37

0

您可以覆盖后退按钮按键像这样:

@Override 
public boolean onKeyUp(int keyCode, KeyEvent msg) { 

    switch(keyCode) { 
    case(KeyEvent.KEYCODE_BACK): 
      Intent a1_intent = new Intent(this, A1Activity.class); 
      startActivity(a1_intent); 
      finish(); 
      return true  
    } 
    return false; 
} 
-4

试试这个:

public void onBackPressed() { 
    finish(); 
    return; 
}