2013-05-20 39 views
0

我已經在片段中加載了加載器,並且它在後臺加載數據。數據加載後,我用這些信息填充edittext。問題是,如果用戶改變了edittext中的內容並旋轉屏幕,onLoadFinished會再次被調用,並且edittext被替換爲加載的信息。我通過添加幫助變量來解決這個問題,如果數據已經加載了。但是當我用其他代碼替換這個片段時,來回旋轉屏幕並按下返回按鈕,edittexts爲空。片段被設置爲保留實例真實。當片段在後臺時,看起來視圖丟失了狀態。任何人都熟悉這個?在retainstance = true的情況下查看backstack上的片段狀態

回答

0

您不應該使用保留狀態。 但是,正確的方法是使用Bundle保存保存並在重新創建活動時恢復它(onCreate Bundle不是新的)。

請查看我發給你的鏈接,它包含一個非常具體的例子。

從Android開發者指南

要正確處理重新啓動,但重要的是你的活動 通過正常的活動週期恢復以前的狀態,在 的Android電話的onSaveInstanceState()它摧毀之前您的 活動,以便您可以保存有關應用程序狀態的數據。然後您可以在onCreate()或onrestoreInstanceState()中恢復狀態 。

Android Rotation Change

+0

爲什麼我不應該使用它?設置保留實例是非常有用的imho,我想使用該功能 – Billda

相關問題