2015-07-04 67 views
2

活動1我有EditText和Button。單擊按鈕時活動2個負荷:恢復點擊後退按鈕上的活動數據

Intent intent = new Intent(this, Activity2.class); 
startActivity(intent); 

它被配置爲擁有活動1父:

<activity android:name=".Activity2" android:parentActivityName=".Activity1" > 
    <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.domain.app.Activity1" /> 
</activity> 

當我點擊後退按鈕上的活動2,用戶在編輯字段中輸入的文本丟失。我怎樣才能恢復它?

我在活動1上嘗試過onSaveInstanceStateonRestoreInstanceState,但它不起作用(onRestoreInstanceState永遠不會被調用)。

回答

4

確保您不會將「背」與「向上」混淆。向上導航與左下或物理後退按鈕不同。它會默認重新創建「活動」活動,除非您在清單中將啓動模式設置爲「單個活動」。

+1

這是最好的答案,我來自iOS世界,仍然忘記有Back按鈕...任何提示如何使Up按鈕的行爲與Back按鈕相同? – bpiec

+0

要使向上按鈕充當回來,只需重寫Activity中的onOptionsItemSelected()以處理id爲android.R.id.home的菜單項並調用finish()。 – BladeCoder

+0

這就是我想達到的,謝謝! – bpiec

1

我建議你使用sharedPreferences類臨時存儲數據。這可能涉及在返回到activity1之後使用另一個按鈕來加載sharedpreferences數據。祝一切順利。

相關問題