0
我使用下面的方法來保存和讀取用戶設置:設置sharedpreferences默認值
private void saveUserSettings(){
SharedPreferences userSettings = getSharedPreferences("userSettings", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = userSettings.edit();
editor.putInt("timeOne",timeOne);
editor.apply();
}
private int getUserSettings(){
SharedPreferences userSettings = getSharedPreferences("userSettings", Context.MODE_PRIVATE);
timeOne = userSettings.getInt("timeOne",timeOne);
}
然後在的onCreate如下:
SharedPreferences prefs = getSharedPreferences("userSettings", Context.MODE_PRIVATE);
這是罰款和數據保存時應用程序重新啓動。不過,我希望在最初安裝應用程序時擁有默認數據,它似乎應該將值存儲在xml文件中。
我創建在以下文件RES/XML /的preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
android:key="timeOne"
android:defaultValue="2"/>
</PreferenceScreen>
然後在的onCreate:
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
我改變了 「userSettings」 喜好投其所好,但這多申不工作並返回零值。這種閱讀xml文件的方法是否正確或/我能忽略一些東西?
這是一個公平點,但問題是從preference.xml文件讀取。當它應該是2時,它返回0。 – MXG123
如果2是默認值,那麼爲什麼不把它設置爲這樣呢? timeOne = userSettings.getInt(「timeOne」,2); – Juan
我已經在Edit I – Juan