启动上一个活动

时间:2011-04-11 10:22:58

标签: android

假设从活动A开始,活动B启动,B启动C.是否可以从C开始活动A,按下按钮,而不是按两次BACK按钮,或者是记忆泄漏的做法?

非常感谢,

的Gratzi

3 个答案:

答案 0 :(得分:0)

看看是否

Intent.FLAG_ACTIVITY_CLEAR_TOP

适合您的需求。

答案 1 :(得分:0)

你必须这样做:

`活动A:

public static final int ID = X  
      // ....  
     startActivityForResult(intentToB,ID)  
     // ....  

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == ID){
        switch (resultCode){
        case RESULT_OK:
            //...
            break;
        case RESULT_RETURN:
            // ...
        default:
                            //...
        }
    }
}

`

`活动B:

public static final int ID = Y  
      // ....  
     startActivityForResult(intentToC,ID)  
     // ....  

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == ID){
        switch (resultCode){
        case RESULT_OK:
            //...
            break;
        case RESULT_RETURN:
            setResult(RESULT_RETURN);
                            ActivityB.this.finish();
        default:
                            //...
        }
    }
}

`

Activity C:
//inside of button onclick listener
setResult(RESULT_VOLVER);
ActivityC.this.finish();

答案 2 :(得分:0)

我理解你的想法。从HomeActivity看,你进入活动A,然后进入活动B,等等。对每个Acitivy(A,B,...)进行成像时,有一个HOME按钮,可在按下此按钮时快速返回HOME。

以下是源代码:

public void btn_home_click(View v) {
    Intent intent = new Intent(this, HomeActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();
}