2012-04-02 115 views
1

我有3個活動正在運行,將a1導航到a2,然後將a2導航到a3。現在按下模擬器的按鈕,我想在沒有完成活動a2的情況下轉到活動a1。如何執行此操作。提前活動生命週期問題

+0

請審閱以下鏈接可能幫助你 http://stackoverflow.com/questions/7790248 /如何完成活動從另一個活動 – 2012-04-02 07:25:01

回答

7

是的,你可以覆蓋後退按鈕

public void onBackPressed() { 

Intent start = new Intent(currentclassname.this,which activity u want.class); 
    startActivity(start); 
    finishActivity(0); 
} 

通過這個你可以在任何活動而移動。這是非常容易和簡單的方式

3

me..Thanks試試這個在您的A3活動的返回鍵事件:

Intent intent = new Intent(this,A1.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
+0

他希望活動a2未完成。上述解決方案(FLAG_ACTIVITY_CLEAR_TOP)是否不會從堆棧中刪除a2。如果錯了,糾正我。 – Deva 2012-04-02 07:08:33

+0

@Deva那麼我認爲他應該使用SINGLE_TOP。 – 2012-04-02 07:16:09

1

寫這個東西在A3

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    Intent intent=new Intent(getApplicationContext(),a1.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 

} 
0

你也可以在你的AndroidManifest.xml文件中實現這個,只需在你想要的那些地方添加android:noHistory =「true」屬性即可。

0

在A2活性

您可以在此改變重啓(),如下::

@Override 
protected void onRestart() { 
// TODO Auto-generated method stub 
super.onRestart(); 
startActivity(new Intent(getApplicationContext(),a1.class)); 
}