关于在 Android 上实现多选(复选框)ListPreference 的任何想法?
我必须扩展 ListPreference 吗?
是否有任何课程已经记录在案?
谢谢
关于在 Android 上实现多选(复选框)ListPreference 的任何想法?
我必须扩展 ListPreference 吗?
是否有任何课程已经记录在案?
谢谢
多选 ListPreference 现在从 API 级别 11 (Honeycomb) 原生地与 Android 一起提供。 http://developer.android.com/reference/android/preference/MultiSelectListPreference.html
因为在设备安装 Honeycomb 或更高版本之前需要很长时间,我建议人们坚持使用 http://blog.350nice.com/wp/archives/240解决方案。
编辑:我认为此时此刻(最初发布此答案大约 3 年后)您最好现在使用本机版本,因为大多数设备都具有 Android 4 及更高版本。
嗯,http://blog.350nice.com/wp/archives/240确实提供了一个解决方案,但更简单的解决方案是在父项中实现一个子偏好屏幕,然后子偏好屏幕可以有多个复选框。我知道,这不是最好的解决方案,但可以完成工作。
例如 - 下面的preference.xml
<PreferenceCategory
android:title="Regular messages"
android:key="regular_messages">
<CheckBoxPreference
android:key="enable_regular_messages"
android:summary="Enable or disable regular messages"
android:title="Send regular messages"
android:defaultValue="true"
/>
<ListPreference
android:key="send_interval"
android:title="Send interval"
android:summary="Define how often you want to send messages"
android:defaultValue="60000"
android:entries="@array/send_interval"
android:entryValues="@array/send_interval_values"
android:dependency="enable_regular_messages"
/>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="Messages type"
android:key="messages_type"
android:summary="Select the type of messages to be sent"
android:dependency="enable_regular_messages">
<CheckBoxPreference
android:key="enable_status_messages"
android:summary="Enable or disable status messages"
android:title="Send status messages"
android:defaultValue="true"
/>
<CheckBoxPreference
android:key="enable_event_messages"
android:summary="Enable or disable event messages"
android:title="Send event messages"
android:defaultValue="true"
/>
<CheckBoxPreference
android:key="enable_critical_messages"
android:summary="Enable or disable critical messages"
android:title="Send critical messages"
android:defaultValue="true"
/>
</PreferenceScreen>
</PreferenceCategory>
找到一个非常有用的链接: http ://blog.350nice.com/wp/archives/240
这是一个支持的单类实现defaultValue
:
https ://github.com/yanchenko/droidparts/blob/develop/droidparts/src/org/droidparts/widget/MultiSelectListPreference.java
有一个github 项目就是为了这个