我知道這可能非常簡單,但我無法弄清楚。如何調用recreate()?
我正試圖在操作後重新加載/重新創建活動。我知道我可以使用:
Intent intent = getIntent();
finish();
startActivity(intent);
但在閱讀網站上的答案時,我被告知在11 api之後使用'recreate()'。任何幫助將不勝感激,謝謝!
我知道這可能非常簡單,但我無法弄清楚。如何調用recreate()?
我正試圖在操作後重新加載/重新創建活動。我知道我可以使用:
Intent intent = getIntent();
finish();
startActivity(intent);
但在閱讀網站上的答案時,我被告知在11 api之後使用'recreate()'。任何幫助將不勝感激,謝謝!
之前當使用recreate方法做
this.recreate()
只是在API級別11加工程工作。如果你想包含更多的設備,你可以檢查API的水平,並實施再現方法以及
Intent intent = getIntent();
finish();
startActivity(intent);
你可以使用兩個通過使if語句像...
if (android.os.Build.VERSION.SDK_INT >= 11){
//Code for recreate
recreate();
}else{
//Code for Intent
Intent intent = getIntent();
finish();
startActivity(intent);
}
this.recreate()是它所需要的。將該代碼粘貼在您要重新加載的活動中的方法內。我有一個項目,這是一個按鈕點擊綁定,但你可以使用它,但你需要。
令人難以置信的簡單,非常感謝! –
我對你的問題有點困惑,你自己在回答中回答了問題。調用該方法直接重建......
從文檔recreate()
:
導致此活動與一個新的實例來重建。由於配置更改,這會導致與創建Activity時基本相同的流程 - 當前實例將經歷其生命週期到onDestroy(),然後創建一個新實例。
呼叫recreate()
從活動碼內而不是
Intent intent = getIntent();
finish();
startActivity(intent);
重啓活動(API 11,其之後)。
見this答案一個更通用的重新創建程序,即使是API/SDK 11
謝謝CPU!只是想開始更新我的項目。出於某種原因,我被「這個」拋棄了。 –
以上同樣的評論 - 非常簡單,非常感謝!還要感謝您的額外解釋,以及是否檢查(在您的項目中專門使用您的)。 –
我正在線程中執行一些任務。我無法調用recreate()方法? – ManishNegi
不完全確定你的意思?你有沒有嘗試mContext.recreate()? –