1

我創建了一個方法從strings.xml獲取字符串SharedPreferences,並將其顯示在TextView中。沒有錯誤報告,但TextView什麼也沒有顯示。 SharedPreferences有問題嗎?字符串和TextView是正確的。帶SharedPreferences的顯示字符串不起作用

public void setQuestion() { 
    TextView Question = (TextView) findViewById(R.id.question); 
    if (question == 0) { 
     SharedPreferences sharedPreferences = 
       getSharedPreferences("strings", Context.MODE_PRIVATE); 
     String myquestion = sharedPreferences.getString("AppQuestion1", ""); 
     Question.setText(myquestion); 
    } 
} 

回答

1

strings.xmlSharedPreferences是不同的東西。

如果您AppQuestion1strings.xml定義如下圖所示:

<string name="AppQuestion1">Question1: ...</string> 

你可以通過調用getString方法您Resources對象上得到的字符串。

String myquestion = getResources().getString(R.string.AppQuestion1); 

並且沒有必要使用SharedPreferences

+0

謝謝!它的工作:) –

+0

但如果我想在strings.xml中編輯一個字符串,我必須使用SharedPreferences? –

+0

是的。包含strings.xml的資源存儲預定義的數據。如果你想存儲某種動態變化的數據,你必須使用包括SharedPrefereces在內的存儲選項。請參閱:[Google API指南](http://developer.android.com/guide/topics/data/data-storage.html)。而當你堆疊另一個問題時,再次在stackoverflow.com上發佈一個新問題。 – hata