当我单击首选项屏幕上的列表首选项时,没有任何反应。不显示可供选择的条目。(我正在安卓 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>
根据我的评论 — 检查您的首选项活动,以确保您没有任何可能覆盖默认行为的代码(即,在您的首选项上有一个正在窃取触摸事件的触摸侦听器)。