2012-12-19 202 views
6

我有兩個活動,A和B.我有一個按鈕,按下時開始一個新的意圖B. 然而,每當我按下返回按鈕,而在B,比再次單擊按鈕是重新啓動活動。我不想這樣做,我想它恢復活動B.其實我在活動B中做一些網絡,我想保存,除非用戶想刷新。 我該怎麼辦?在此先感謝不破壞上後退按鈕當前活動被按下

+0

把代碼放在你的問題中,你使用什麼方法?!你有沒有試過 onResume()? –

+0

你的意思是,你想禁用後退按鈕? – Egor

+0

在開始活動時不要致電完成()B –

回答

1

您需要超控器的

onBackPressed

方法,並開始有這樣的活動:

@Override 
    public void onBackPressed() { 
    Intent intent = new Intent(this, activityA.class); 
    startActivityForResult(intent, PICK_CONTACT_REQ); 
} 
10

使用

@Override 
    public void onBackPressed(){ 
     moveTaskToBack(true); 
    } 

希望,它必須幫助你

+0

這很簡單容易!感謝 – user1501382

1

這聽起來像是你需要重新考慮你的架構。你說:

其實我在活動B做一些網絡,我想保存 ,除非用戶想刷新。

如果是這種情況,您可能不想在ActivityB中進行聯網。也許你應該從ActivityB開始Service做網絡。服務和活動可以相互通信,以便活動可以使用戶瞭解網絡的最新狀態。如果用戶在ActivityB中按下BACK,它可以完成(照常)並返回到ActivityA。在這種情況下,該服務仍在管理網絡。當用戶再次啓動ActivityB(來自ActivityA)時,ActivityB的新實例可以與服務進行通信,以查看是否有任何網絡正在進行,如果有,它可以獲取該網絡的當前狀態,或啓動或停止它或隨你。

+0

YAA你是對的..但我不知道如何做到這一點..你可以幫助更多.. – Dory

+0

不是真的:-(我需要看到你已經有了,並且超出了Q&A論壇的範圍。這成爲了小時候的軟件諮詢;-)看看在後臺線程中執行網絡I/O的教程和示例代碼。祝你好運! –

相關問題