Ответ 1
Я обнаружил, что когда-нибудь мне нужно очистить данные приложения. Удалите и переустановите приложение. После этого все работает так, как ожидалось.
Я попытался установить значение по умолчанию для ListPreference, но ничего не отображается.
Можете ли вы проверить код на наличие ошибок?
Спасибо.
Действительно, Имад
Это файл settings.xml:
<PreferenceCategory android:title="Media:">
<CheckBoxPreference android:key="ChimeWhenMusicIsPlaying"
android:title="@string/ChimeWhenMusicIsPlayingTitle" android:summary="@string/ChimeWhenMusicIsPlayingSummary"
android:defaultValue="false" />
<ListPreference android:title="Chime Volume"
android:key="ChimeVolume" android:summary="Select volume for the chiming sound."
android:entries="@array/chimeVolumeLabels" android:entryValues="@array/chimeVolumeValues"
android:defaultValue="1" />
</PreferenceCategory>
Это файл массива:
<resources>
<string-array name="chimeVolumeLabels">
<item>Default</item>
<item>Soft</item>
<item>Medium</item>
<item>Loud</item>
</string-array>
<string-array name="chimeVolumeValues">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
</resources>
Я обнаружил, что когда-нибудь мне нужно очистить данные приложения. Удалите и переустановите приложение. После этого все работает так, как ожидалось.
Я обнаружил, что мне нужно вызвать PreferenceManager.setDefaultValues () в моей настройке Preferences, чтобы мое значение по умолчанию отображалось первоначально.
public class PreferencesActivity extends PreferenceActivity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// This static call will reset default values only on the first ever read
PreferenceManager.setDefaultValues(getBaseContext(), R.xml.settings, false);
addPreferencesFromResource(R.xml.settings);
}
}