代码之家  ›  专栏  ›  技术社区  ›  zsniperx

Android上的多选列表首选项

  •  9
  • zsniperx  · 技术社区  · 14 年前

    有没有想法在Android上实现多选(复选框)列表首选项?

    我需要扩展listpreference吗?
    是否有任何类已经记录下来了?

    谢谢

    5 回复  |  直到 11 年前
        1
  •  21
  •   Tim    11 年前

    multi-select-listpreference现在与来自API 11级(蜂窝)的Android自带。 http://developer.android.com/reference/android/preference/MultiSelectListPreference.html

    因为要安装蜂窝或更高版本的设备需要很长时间,所以我建议人们坚持使用 http://blog.350nice.com/wp/archives/240 解决方案。

    编辑:我认为在这个时候(在这个答案最初发布后近3年),你最好现在使用本机版本,因为大多数设备都有安卓4及更高版本。

        2
  •  10
  •   Tapan Thaker    13 年前

    好, 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>
    

        3
  •  8
  •   zsniperx    14 年前

    找到了一个非常有用的链接: http://blog.350nice.com/wp/archives/240

        5
  •  1
  •   shem    11 年前

    有一个 github project 就为了这个

    推荐文章