zoukankan      html  css  js  c++  java
  • 【转】 Pro Android学习笔记(六十):Preferences(4):MultiSelect List Preference

    目录(?)[-]

    1. XML文件
    2. 在设备中保存
    3. 读出信息

    ListPreference提供单选列表,我们可以通过CheckBoxPreference提供多选列表。此外,Android在3.0后提供MultiSelectListPreference,它的实现和ListPreference相似,不同的是还可以不选择或者多个选择。如图所示。

    XML文件

    在复合例子中加入相关的内容,如下。同样地可以采用@array来对entry和entryvalue进行定义,使用比CheckBox Preference要方便。

    ...... 
      <PreferenceScreen android:key="multi_select_test" 
        android:title="MultiSelect List Preference" 
        android:summary="Test for Multiselect List Preferences"> 
          <MultiSelectListPreference android:key="fruits" 
            android:title="Select Your Favourite Fruits" 
            android:summary="选择您喜欢的水果" 
            android:entries="@array/fruit" 
            android:entryValues="@array/fruit_index" 
            android:dialogTitle="水果:"  />     
      </PreferenceScreen> 
    … …

    在设备中保存

    <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    <map> 
        … …  
        <set name="fruits"> 
            <string>2</string> 
            <string>0</string> 
        </set> 
        … … 
    </map>

    读出信息

    从保存文件中可以看出,数据格式是Set,读取起来比以往的稍微麻烦一点,代码如下:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    Set<String>options = prefs.getStringSet("fruits", null);  //因不设置初始值,所以要进行null的判断 
    showInfo("Multi Select: " + options); 
    String[] fruits = getResources().getStringArray(R.array.fruit); 
    if(options != null ){
        for(String f: options){  
            showInfo("select " + fruits[Integer.parseInt(f)]);
        } 
    }

    本博文涉及的例子代码,可以在Pro Android学习:Preference(首选项)小例子中下载。

    相关链接: 我的Android开发相关文章

  • 相关阅读:
    医疗器械那些事
    内审员学习1
    BA
    GMP文件分类与编码管理规程
    杂-电工学
    产品学习1
    模拟电子技术1
    电路组装1
    Unable to simultaneously satisfy constraints.
    xcode
  • 原文地址:https://www.cnblogs.com/blongfree/p/5048027.html
Copyright © 2011-2022 走看看