在Android上实现多选(Checkset)ListPreference的想法吗?
我是否必须扩展ListPreference?
是否有任何课程已经记录下来?
由于
答案 0 :(得分:21)
Multi select 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及以上版本。答案 1 :(得分:10)
嗯,http://blog.350nice.com/wp/archives/240确实提供了解决方案,但更简单的解决方案是在父级内部实现子优先级屏幕,然后子优先级屏幕可以有多个复选框。我知道,这不是最好的解决方案,但可以完成工作。
例如 - Below 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>
答案 2 :(得分:8)
找到了一个非常有用的链接: http://blog.350nice.com/wp/archives/240
答案 3 :(得分:4)
这是一个支持defaultValue
的单一类实现:
https://github.com/yanchenko/droidparts/blob/develop/droidparts/src/org/droidparts/widget/MultiSelectListPreference.java
答案 4 :(得分:1)
这个
只有一个github project