[英]Returning back to last state in previous activity
我有兩個活動A和B。啟動應用程序時,活動A被加載,並且我從數據庫中加載了數據。 我可以沒有任何問題地進入活動B,但是當我回到活動A時,會查看一下舊數據,然后重新加載活動。
任何想法如何解決這個問題?
在從DB開始加載數據之前,清除所有字段。從加載數據開始花費的時間很少,並且在清除之前的字段之前。
您可以在此處將所有字段都留為空白。
您需要重寫onSaveInstanceState(Bundle savedInstanceState)並將您想要更改的應用程序活動狀態值寫入Bundle參數,如下所示:
@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");
}
通常,您將使用此技術來存儲應用程序的實例值(選擇,未保存的文本)等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.