0
我有一個活動,允許用戶選擇一個聯繫人,並使用onActivityResult()返回結果。onActivityResult()從聯繫人選擇器返回後是否未調用onRestoreInstanceState?
當從聯繫人選擇器返回活動時,我試圖從onRestoreInstanceState()中的某個包中提取某些內容。但onActivityResult被稱爲後OnRestore中不運行..
我log.e它來檢查,看它是否是跑去它不是...
這裏是我的OnRestore中
@Override
protected void onRestoreInstanceState(Bundle outState){
super.onRestoreInstanceState(outState);
Log.e("SmsEditCreate", "Inside onRestore");
mDbHelper.open();
setRowIdFromIntent();
populateField();
}
當返回onActivityResult()被調用時,onRestore不會被調用嗎?
如果還有其他解決方法,請讓我知道。
好的,所以到我的問題的第二部分。當我需要從onResume()中的Bundle中提取信息時,我該如何解決這個問題? –
嗯,我不能真正回答你的問題,因爲你沒有發佈你想要做的事情。不過,我可以說,您的Activity的實例將與啓動舊活動之前使用的實例相同。因此,您可以在您的Activity類中使用您試圖在onResume()中使用onSaveInstanceState持久化的任何字段。換句話說,如果將字段mRowId設置爲您正在使用的rowId,則可以直接在您的onResume中使用mRowId。在你的onRestoreInstanceState中,你也可以從bundle中設置mRowId。 –