我有我的應用程序的問題,如果我導航到關於活動,而我在結果活動,TextView值清除。我已經嘗試將關於活動設置爲finish()
到目前爲止,當我導航回到結果活動,但沒有奏效。我想知道是否有一種方法來存儲這些值,以便在我離開時不會被擦掉?我在下面的屏幕截圖中顯示了我正在談論的內容。如何從TextView存儲值,以便在離開活動時不會被清除?
我有我的應用程序的問題,如果我導航到關於活動,而我在結果活動,TextView值清除。我已經嘗試將關於活動設置爲finish()
到目前爲止,當我導航回到結果活動,但沒有奏效。我想知道是否有一種方法來存儲這些值,以便在我離開時不會被擦掉?我在下面的屏幕截圖中顯示了我正在談論的內容。如何從TextView存儲值,以便在離開活動時不會被清除?
我這樣做(meing標記#字符串變量或arrMark字符串數組):
@Override
protected final void onSaveInstanceState(final Bundle outState)
{
// Save variables.
outState.putString("mark1", mark1);
outState.putString("mark2", mark2);
outState.putString("mark3", mark3);
// ...
// or better, if you have your values in a string array:
outState.putStringArray("marks", arrMarks);
}
@Override
protected final void onRestoreInstanceState(final Bundle outState)
{
// Restore saved variables and reshow activities if they were open.
mark1 = outState.getString("mark1", "");
mark2 = outState.getString("mark2", "");
mark3 = outState.getString("mark3", "");
// ...
// or better, if you have your values in a string array:
arrMarks = outState.getStringArray("marks");
}
就看到了這一點,現在,我在'OnCreate()'之外實現了上述內容,但是我得到的錯誤類似於'\t - mark1不能解析爲變量和' - 類型Bundle中的方法getBoolean(String,boolean)不適用於參數 \t(String,String)' ' –
對不起!我編輯了我的答案......它不是getBoolean,它是** getString **!我的錯別字...;)我們正在處理字符串 - 如果我們正在處理布爾值,** outState.getBoolean(「markXYZ」,false); ** –
我試過這個編輯版本,我仍然得到以下錯誤:無法將字符串轉換爲restoreInstanceState上的double,Bundle類型中的方法putString(String,String)不適用於savedInstanceState上的參數(String,double) –
只需保存到臨時偏好本。然後檢索,只要你想
爲了節省
SharedPreference preferenece = getSharedPreference("File Name", MODE_PRIVATE);
preference.edit().putString("Mark1").commit();
要檢索
SharedPreference preferenece = getSharedPreference( 「縣文件名」,MODE_PRIVATE); String mark1 = preference.getString(「Mark1」);
然後將它傳回的TextView或任何
u可以使用共享PREF – KOTIOS