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