listprefenence比switchpreference多了一个arrays.xml,这个arrays.xml就是用来写我们需要的list的内容。
以切换mode功能为例,就是切换协议的mode,一共需要五个选项。除了switchpreference中的key,title,summary和persistent外,还要有entries和entryValues。android:entries设置的内容是我们在设置时看到的内容,而android:entryValues就是保存在preferences.xml中的值。

<ListPreferenceandroid:key="frequency_band"android:title="@string/wifi_setting_frequency_band_title"android:summary="@string/wifi_setting_frequency_band_summary"android:persistent="false"android:entries="@array/wifi_frequency_band_entries"android:entryValues="@array/wifi_frequency_band_values"/>

以下面为例,entries就是我们可以看到的,选择的项:a,b,g,n,ac。在xml中它们分别对应的是0,1,2,3,4。

<string-array name="mode_80211_selection_entries"><item>"a"</item><item>"b"</item><item>"g"</item><item>"n"</item><item>"ac"</item></string-array><string-array name="mode_80211_selection_values"><!-- Do not translate. --><item>0</item><!-- Do not translate. --><item>1</item><!-- Do not translate. --><item>2</item><item>3</item><item>4</item></string-array>

原来switchpreference 切换状态是通过setChecked函数进行的,而listpreference没有这个函数,而是通过setSummary和 setValueIndex来进行state的修改。setSummary就是来修改listpreference的sunmmary,参数就是一个字符串数组,用来选择在那个界面的时候显示list里的哪一项,而setValueIndex的参数是整型的数字,用来控制listpreference显示指在哪一个选项上,从上到下依次是0、1、2等等。今天在修改时,先用的是listpreference的setValue函数,发现这个函数并不是用来修改指针所指向的位置。

关注公众号,获取更多开发必备知识

ListPreference详解与使用相关推荐

  1. Android数据存储(二)----PreferenceFragment详解

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. Android进阶——Preference详解之Preference系的基本应用(三)

    引言 前面一篇文章Android进阶--Preference详解之Preference系的基本应用和管理(二)介绍了二级Preference的使用和特点,接下来进入系统给我提供的底级Preferenc ...

  3. Android APP:Preference使用详解和实例(附源码)

    Android APP:Preference使用详解和实例 一.Preference 是Android app中重要的控件之一,Settings 模块大部分都是通过Preference 实现的,这里将 ...

  4. Android Preference详解之初识Preference及Preference系(一)

    Android Preference详解之初识Preference及Preference系(一) 转载:https://blog.csdn.net/google_huchun/article/deta ...

  5. PreferenceFragment详解

    一.PreferenceFragment的引入: PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference来保存.A ...

  6. Android之PreferenceFragment详解

    [正文] 一.PreferenceFragment的引入: PreferenceActivity是一个非常有用的基类,当我们开发Android项目时避免不了选项设置,这些设置习惯用Preference ...

  7. preference的用法 java_Preference 使用详解

    阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: Perference 简介 Perfer ...

  8. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  9. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

最新文章

  1. 百度工程师亲授CCF BDCI解题思路,15万大奖等你来拿
  2. html弧形列表效果,web前端入门到实战:html5网页特效-弧形菜单
  3. 【深度学习】——模型评估指标MAP计算实例计算
  4. 数据结构-第十章 排序
  5. BZOJ1607 [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法
  6. linux命令之awk终极系列
  7. 再谈 最速下降法/梯度法/Steepest Descent
  8. mysql从备份,mysql 主从同步范例-从同步备份步骤
  9. 渗透之——Metasploit命令及模块
  10. 市场上硬杠,技术上死磕,华为如何跨越操作系统黑洞
  11. 小车|PID算法 闭环控制 带有 霍尔编码器 的电机
  12. [STM32]Cubemx+USBAudio声卡+I2S+DMA+WM8978实验记录(未解决)
  13. Linux VGA驱动移植实验
  14. 解决mybatis-plus分页查询不生效,配置分页拦截器
  15. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求三门
  16. 营销老炮儿征战史:渠道开发
  17. SVHN门牌号数据集 再生成印刷体数据集
  18. MySQL 5.7.26部署及授权,主从配置
  19. 从零开始的安卓开发环境搭建与入门
  20. 喊麦话筒测试软件,美国AUDIX TM1 PLUS 声学测试话筒 (带校正圈、防风罩、麦夹)

热门文章

  1. 《炬丰科技-半导体工艺》无损伤清洗气泡振荡超音波技术
  2. 【正则表达式】判断是否为名字
  3. 玛法大陆 第一章 传奇私服
  4. vue封装背景知识小插曲之插槽slot的用法
  5. 尼姆游戏(聪明版)python
  6. 0基础短视频自媒体流程,新手小白也能做,抓紧收藏
  7. 历届奥运会场馆经典回顾(1992-2008)
  8. 对最近工作一年的感悟
  9. 最小互质数 (H题)
  10. 商用PC创新,还是联想站位高