2013-12-21 77 views
-1

我有我的應用程序的問題,如果我導航到關於活動,而我在結果活動,TextView值清除。我已經嘗試將關於活動設置爲finish()到目前爲止,當我導航回到結果活動,但沒有奏效。我想知道是否有一種方法來存儲這些值,以便在我離開時不會被擦掉?我在下面的屏幕截圖中顯示了我正在談論的內容。如何從TextView存儲值,以便在離開活動時不會被清除?

Calculation results Navigate to about activity and select back to go back to result activity

Values cleared when I navigate back

+2

u可以使用共享PREF – KOTIOS

回答

1

我這樣做(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"); 
} 
+0

就看到了這一點,現在,我在'OnCreate()'之外實現了上述內容,但是我得到的錯誤類似於'\t - mark1不能解析爲變量和' - 類型Bundle中的方法getBoolean(String,boolean)不適用於參數 \t(String,String)' ' –

+0

對不起!我編輯了我的答案......它不是getBoolean,它是** getString **!我的錯別字...;)我們正在處理字符串 - 如果我們正在處理布爾值,** outState.getBoolean(「markXYZ」,false); ** –

+0

我試過這個編輯版本,我仍然得到以下錯誤:無法將字符串轉換爲restoreInstanceState上的double,Bundle類型中的方法putString(String,String)不適用於savedInstanceState上的參數(String,double) –

2

只需保存到臨時偏好本。然後檢索,只要你想

爲了節省

SharedPreference preferenece = getSharedPreference("File Name", MODE_PRIVATE); 
preference.edit().putString("Mark1").commit(); 

要檢索

SharedPreference preferenece = getSharedPreference( 「縣文件名」,MODE_PRIVATE); String mark1 = preference.getString(「Mark1」);

然後將它傳回的TextView或任何

相關問題