2015-09-21 42 views
0

我有兩個活動A和B.當應用程序啓動時,活動A被加載並從數據庫加載數據。 我可以毫無問題地參加活動B,但是當我回到活動A時,會查看舊數據並重新加載活動。回到上一個活動的狀態

任何想法如何解決這個問題?

+0

請出示你如何調用和返回活動 –

+0

顯示你的代碼的代碼。無需從B啓動活動A.您只需要完成();活動B.您有自動重定向到活動A的最後階段。希望它能正常工作 –

回答

0

在加載數據之前清除所有字段,從DB.loading數據開始需要很少的時間,並在清除前一個字段之前。

+0

謝謝,問題出在我的設備上,應用程序在另一臺設備上完美運行! –

0

在這裏你可以把空白的所有領域..​​

你需要重寫的onSaveInstanceState(捆綁savedInstanceState)和寫要更改的參數捆綁像這樣的應用程序的活動狀態值:

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
    super.onSaveInstanceState(savedInstanceState); 
    /* Save UI state changes to the savedInstanceState. 
    * This bundle will be passed to onCreate if the process is 
    * killed and restarted activity 
    */ 
    savedInstanceState.putString("YourString", ""); 

    // etc... 
    // etc... 
} 

Bundle本質上是一種存儲NVP(「名稱 - 值對」)映射的方式,它將傳遞給onCreate()和onRestoreInstanceState(),您可以在這裏提取這樣的值:

@Override 
public void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    // Restore UI state from the savedInstanceState. 
    // This bundle has also been passed to onCreate. 

    String myString = savedInstanceState.getString("YourString"); 
} 

你通常會使用此技術來存儲實例值的應用程序(選擇,未保存文本)等

+1

謝謝,問題出在我的設備上,該應用在另一臺設備上完美運行! –

+0

你檢查過它爲什麼發生了嗎?只是調試它,你會發現它。 –