ListPreference не отображается, нажав на экран настроек
Ничего не происходит, когда я щелкаю ListPreference на экране предпочтений.
Никакие записи не отображаются для выбора. (Я тестирую на Android 4.4)
Предпочтение xml:
<PreferenceCategory
android:title="Image"
android:key="image">
<ListPreference
android:title="Flash"
android:key="flash"
android:defaultValue="Off"
android:entries="@array/flash"
android:entryValues="@array/flash_values"
android:persistent="true"/>
</PreferenceCategory>
Значения массива xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="opts">
<item>auto</item>
<item>50</item>
<item>100</item>
<item>200</item>
<item>400</item>
<item>800</item>
</string-array>
<string-array name="opts_values">
<item>auto</item>
<item>50</item>
<item>100</item>
<item>200</item>
<item>400</item>
<item>800</item>
</string-array>
<string-array name="flash">
<item>Auto</item>
<item>On</item>
<item>Off</item>
</string-array>
<string-array name="flash_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
</resources>
Заголовок отображается правильно, но при щелчке по предпочтению ничего не происходит. Никакой ошибки при строительстве.
Список предпочтений не отображается в виде диалогового окна. Все остальные типы работают правильно.
Правка:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="prefscr">
<PreferenceCategory
android:title="Image"
android:key="image">
<SwitchPreference
android:title="Video Mode"
android:key="video"
android:defaultValue="false"/>
<ListPreference
android:title="Flash"
android:key="flash"
android:defaultValue="Off"
android:entries="@array/flash"
android:entryValues="@array/flash_values"
android:persistent="true"/>
<SwitchPreference
android:title="PNG"
android:key="png"
android:defaultValue="false"
android:summary="Image format in PNG"
android:enabled="false"/>
<ListPreference
android:title="Iso"
android:key="iso"
android:summary="set iso value"
android:entries="@array/opts"
android:entryValues="@array/opts_values"
android:enabled="true"
android:persistent="true"
android:defaultValue="auto"/>
</PreferenceCategory>
</PreferenceScreen>
1 ответ:
В соответствии с моим комментарием-проверьте свою активность предпочтений, чтобы убедиться, что у вас нет кода, который мог бы переопределить поведение по умолчанию (т. е. иметь прослушиватель касания на вашем предпочтении, который крадет событие касания).
Comments