2012-05-03 82 views
0

假設:我有兩個類MainActivity和SecondActivity將某個活動帶到前面

首先,我的應用程序以MainActivity的一個實例開始。在MainActivity中,有幾個按鈕會在單擊時啓動SecondActivity。每次啓動一個SecondActivty,我都會通過putExtra函數將一個diffirent參數添加到該SecondActivity中,因此每個SecondActivity都會顯示每個不同的內容。

而且我用這個代碼SecondActivity:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     moveTaskToBack(true); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

所以每次後退按鈕被按下的SecondActivity,也不會被破壞。

現在,例如,我有這樣的場景:

MainActivity == click_a_button ==> SencondActivity(INSTANCE1) == press_back_button ==> MainActivity == click_another_button ==> SecondActivity(INSTANCE2)== press_back_button ==> MainActivity (*)

停止在步驟(*):從這裏(在MainActivity中),用戶按下啓動的按鈕instance1,我的問題是如何使SecondActivity(instance1)到達前面?

P/S:我讀了約Intent.FLAG_ACTIVITY_REORDER_TO_FRONT,但不知道如何在我的情況下使用它。

+0

我想如果你按後退按鈕上的活動實例,它會由SO被破壞,你將不能夠帶來正面的INSTANCE1 – digulino

+0

我有行'moveTaskToBack(真);'在我的SecondActivity中,所以它不會被破壞 – Leo

+0

我覺得你很困惑。 'moveTaskToBack()'不會改變任務內活動的順序。似乎你正在經歷很多麻煩才能避開標準行爲。當用戶使用「返回」按鈕返回MainActivity時,爲什麼不讓SecondActivity完成(並銷燬),並讓用戶選擇下一件事情時創建一個新的SecondActivity實例。你的方法背後的推理是什麼? –

回答

0

將您的SecondActivity的lanchMode設置爲SingleTop。

 <activity 
     android:name=".SecondActivity" 
     android:launchMode="singleTop" > 
    </activity> 
+0

你可以用示例代碼解釋更多關於你的想法嗎?謝謝 – Leo

+0

對不起,我的意思是Java代碼,它可以幫助將SecondActivity的一個實例帶到字體中。 – Leo