假設我在一個活動中,用戶單擊一個按鈕,然後導航到一個網頁。Android - 打開一個網頁並返回到活動?
它把我帶到網頁,然後當我點擊返回到我的活動,但它重新開始它。 所以有可能以某種方式做到這一點,以便在點擊後退按鈕後,它將我帶到我的活動中,而不是onCreate
它調用onRestart
。 目標不再通過onCreate
。
假設我在一個活動中,用戶單擊一個按鈕,然後導航到一個網頁。Android - 打開一個網頁並返回到活動?
它把我帶到網頁,然後當我點擊返回到我的活動,但它重新開始它。 所以有可能以某種方式做到這一點,以便在點擊後退按鈕後,它將我帶到我的活動中,而不是onCreate
它調用onRestart
。 目標不再通過onCreate
。
這是一個活動的正常生命週期......您可以保存活動的狀態並恢復它以獲得與之前「相同」的活動。
主要問題應該是:你爲什麼不想通過onCreate?如果它通過它,因爲它之前被破壞,需要重新創建。所以不通過它會造成很大的麻煩。
您可以在調用Web瀏覽器之前在您的活動(setIntent)中設置一個意圖,然後在您的onCreate方法中,檢查此意圖是否呼叫您(檢查意圖名稱或附加內容),如果是,跳過其餘的onCreate。
之前調用Web瀏覽器:
Intent intentForThis = new Intent("AfterWebBroswer");
this.setIntent(intentForThis);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("SOME_URL"));
startActivity(i);
,然後在onCreateMethod
public void onCreate(Bundle b) {
if(!getIntent().getAction().equals("AfterWebBrowser")) {
//rest of onCreate
}//if
}//met
問候, 斯特凡
跳過的onCreate這種方式意味着,一切都將完成,像設置佈局,填充數據,設置監聽器將被完全忽略。它可能只會創建一個空白屏幕或屏幕,而無法交互甚至顯示正確的內容。這就是爲什麼我問他爲什麼要跳過它... – WarrenFaith 2011-06-09 23:25:27
當然可以,但仍然有辦法做到@aryaxt通緝 – Snicolas 2011-06-09 23:27:11
對不起,如果這聽起來很粗魯,它並不意味着冒犯,但:只是提供一個解決方案沒有對可能出現的問題進行教育,這不是應該怎麼做纔好? – WarrenFaith 2011-06-09 23:30:07