1
我有一個由XML定義的首選項頁面 - 包括一些默認值。我使用PreferenceActivity來顯示和處理這個頁面。無論何時我使用此頁面設置首選項,文件系統上的首選項文件都會正確更新 - 我可以通過adb查看。爲什麼我的首選項頁面不顯示當前值?
但是,每當我在更改某些設置後返回到設置頁面時,就會顯示默認設置。更糟糕的是,如果我在不更改任何設置的情況下按回來,則會將其全部恢復爲默認設置。
有關我如何獲得首選項以實際顯示當前設置的任何想法?
我由此產生PreferenceActivityis:
@Override
protected void onCreate(Bundle savedInstanceState) {
PreferenceManager.getDefaultSharedPreferences(this)
.registerOnSharedPreferenceChangeListener(this);
setDefaults(this);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
的XML看起來是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
android:id="@+id/numberOfYearsList"
android:key="numberOfYears"
android:title="Number of Years to Read the Bible"
android:summary="How many years would you like to take to read through the reading plan?"
android:entries="@array/numberOfYears"
android:entryValues="@array/numberOfYears"
android:dialogTitle="How Many Years?"
android:defaultValue="1"
/>
<CheckBoxPreference android:key="ignoreDates"
android:id="@+id/ignoreDatesCheckbox"
android:title="Ignore Dates"
android:summary="Would you like to use the dates in the plan?"
android:defaultValue="false"
/>
</PreferenceScreen>
您可以展示您如何創建和使用PreferenceActivity? – 2010-09-16 18:56:52
完成 - 參見上文! – 2010-09-16 20:49:14