【转】 Pro Android学习笔记(六十):Preferences(4):MultiSelect List Preference
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开发相关文章
【转】 Pro Android学习笔记(六十):Preferences(4):MultiSelect List Preference的更多相关文章
- 【转】 Pro Android学习笔记(十九):用户界面和控制(7):ListView
目录(?)[-] 点击List的item触发 添加其他控件以及获取item数据 ListView控件以垂直布局方式显示子view.系统的android.app.ListActivity已经实现了一个只 ...
- 【转】Pro Android学习笔记(十二):了解Intent(下)
解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...
- 【转】Pro Android学习笔记(十):了解Intent(上)
目录(?)[-] Intent基本含义 系统的Intent Android引入了Intent的概念来唤起components,component包括:1.Activity(UI元件) 2.Servic ...
- 【转】Pro Android学习笔记(十四):用户界面和控制(2):Text类控制
目录(?)[-] TextView 例子1在XML中设置autoLink属性 例子2在代码中设置autoLink属性 EditText AutoCompleteTextView MultiAutoCo ...
- 【转】Pro Android学习笔记(十六):用户界面和控制(4):ImageView控件
目录(?)[-] XML片段 代码设置ImageView ImageView是基础的控件,它是android.widget.ImageView的继承类. XML片段 <LinearLa ...
- 【转】Pro Android学习笔记(十八):用户界面和控制(6):Adapter和AdapterView
目录(?)[-] SimpleCursorAdapter 系统预置的layout ArrayAdapter 动态数据增插删排序 自定义TextView风格 其他Adapter AdapterView不 ...
- 【转】Pro Android学习笔记(十五):用户界面和控制(3):Button控件
目录(?)[-] 基础Button ImageButton ToggleButton CheckBox RadioButton 基础Button Button是最常用的基础控件之一,在Android中 ...
- 【转】Pro Android学习笔记(三十):Menu(1):了解Menu
目录(?)[-] 创建Menu MenuItem的属性itemId MenuItem的属性groupId MenuItem的属性orderId MenuItem的属性可选属性 Menu触发 onOpt ...
- 【转】 Pro Android学习笔记(三五):Menu(6):XML方式 & PopUp菜单
目录(?)[-] 利用XML创建菜单 XML的有关属性 onClick事件 Pop-up菜单 利用XML创建菜单 在代码中对每个菜单项进行设置,繁琐且修改不灵活,不能适配多国语言的要求,可以利用资源进 ...
- 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout
目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...
随机推荐
- 【python】-- 模块、os、sys、time/datetime、random、logging、re
模块 模块,用一堆代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个 ...
- IE模式下背景图片不显示
初衷是想给这个提交按钮<input type="submit" value=" />加上背景图片,用了以下css样式: .subtn input { back ...
- Android JSON And Object Cast
Ref:JSON字符串转换成Java实体类(POJO) Ref:Java.Json转换方式之二:Jackson Ref:Jackson 框架,轻易转换JSON Ref:几种序列化协议(protobuf ...
- sql获取数组长度
需求:获取字符串数组1,2,3,4的长度,当然也可以是其他分隔符1|2|3等 方法:通过自定义函数来实现 /* 获取字符串数组长度 */ from sysobjects where id = obje ...
- Vue:实践学习笔记(1)——快速使用
Vue:实践学习笔记(1)——快速使用 Vue基础知识 0.引入Vue 官方地址:Vue的官方下载地址 Vue推荐博客:keepfool 在你的程序中快速引入Vue: <!-- 开发环境版本,包 ...
- Kattis - horrorfilmnight 【贪心】
题意 有两个人想去一起看电影,然后分别给出两个人 分别喜欢看的电影都在哪些天 然后 同一个人 不能连续看两天他不喜欢的电影 求他们最多可以看多少次电影 思路 先将两人喜欢看的电影进行排序, ① 选择两 ...
- 【LeetCode】 数相加组合 Combination Sum
描述 Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), ...
- Yii2学习笔记---内附GridView配置总结
1./vendor/yiisoft/yii2/web/UrlManager.php 方法createUrl 修改url参数转码2.config/web.php 配置文件Yii::$app(应用主体)的 ...
- 苹果企业账号发布APP详解——通过自己网站分发应用
一.通过企业账号申请证书 1 Certificate Signing Request (CSR)文件 在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”, ...
- mysql表数据压缩
记得一次面试中,面试官问我是否知道表的压缩,这个时候我才知道mysql有个表压缩这么个功能,今天试用下看看表的压缩率怎么样. 这里分两个部分说明,第一部分:官方文档说明:第二部分:具体实例测试. [第 ...