原文链接:http://blog.csdn.net/ada168855/article/details/8922692

1、首先布局文件:(mytest.xml)

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" ><PreferenceCategory android:title="@string/my_test"><ListPreference android:key="@string/key_test_str"android:title="@string/title_listpreference"android:entries="@array/entries_str"android:entryValues="@array/entries_values_str"android:dialogTitle="@string/dialog_title"android:defaultValue="@string/default_str"android:summary="@string/summary_str"/></PreferenceCategory>
</PreferenceScreen>

2、数据文件:(strings.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="hello">Hello World, ListPreferenceTest!</string><string name="app_name">ListPreferenceTest</string><string name="key_str">key</string><string name="title_str">你最喜欢的蔬菜</string><string name="title_listpreference">选择蔬菜</string><string-array name="entries_str"><item >白菜</item><item >萝卜</item><item >豆芽</item><item >芹菜</item></string-array><string name="default_str">baicai</string><string name="dialog_title">请选择你喜欢的蔬菜</string><string name="summary_str">白菜</string>
</resources>

3、逻辑Code:

public class ListPreferenceTest extends PreferenceActivity implements OnPreferenceChangeListener{/** Called when the activity is first created. *///创建一个ListPreference对象ListPreference lp;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//过滤已经的XML文件资源,并将当前的preference层添加到这个preference层当中 addPreferencesFromResource(R.xml.preference);//初始化这个ListPreference对象lp=(ListPreference)findPreference(getString(R.string.key_str));//设置获取ListPreference中发生的变化 lp.setOnPreferenceChangeListener(this);/**让ListPreference中的摘要内容(即summary)显示为当前ListPreference中的实体对应的值* 这个方法的作用是为了当下一次打开这个程序时会显示上一次的设置的summary(摘要)* 如果没有添加这个方法,当再次打开这个程序时,它将不会显示上一次程序设置的值,而* 是显示默认值*/lp.setSummary(lp.getEntry());}//让所选择的项显示出来,获取变化并显示出来@Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {if(preference instanceof ListPreference){//把preference这个Preference强制转化为ListPreference类型ListPreference listPreference=(ListPreference)preference;//获取ListPreference中的实体内容CharSequence[] entries=listPreference.getEntries();//获取ListPreference中的实体内容的下标值int index=listPreference.findIndexOfValue((String)newValue);//把listPreference中的摘要显示为当前ListPreference的实体内容中选择的那个项目listPreference.setSummary(entries[index]);}return true;}
}

Android--ListPreference的使用相关推荐

  1. android listpreference 自定义,Android – 我的ListPreference中的自定义行布局

    在我的 Android应用程序中,我实现了从ListPreference扩展的类SubtitleColorListPreference.我需要这个,因为我需要为列表中的每个项目设置自己的布局.一切正常 ...

  2. android listpreference 自定义,Android ListPreference的用法一

    xmlns:android="http://schemas.android.com/apk/res/android" android:key="screen_list&q ...

  3. android listpreference 自定义,Android中Fragmen首选项使用自定义的ListPreference的方法

    首选项这个名词对于熟悉Android的朋友们一定不会感到陌生,它经常用来设置软件的运行参数. Android提供了一种健壮并且灵活的框架来处理首选项.它提供了简单的API来隐藏首选项的读取和持久化,并 ...

  4. android listpreference 自定义,android ListPreference 不显示内容 设置默认值

    通常每个APP都有一个设置界面,以前写设置界面,又要写布局,而且每个设置的内容我们还要用sharePreference自己写一套来管理保存.确实有点麻烦,现在好了,有一个叫做PreferenceSsc ...

  5. [Android分享] Android ListPreference的用法

    首先,我们明确,preference是和数据存储相关的. 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样 ...

  6. android listpreference 自定义,android – 自定义布局ListPreference

    在您的preference.xml文件中,您可以通过类的全名来引用自定义ListPreference,即com.example.MyPreference android:key="pref_ ...

  7. android listpreference 自定义,在Android中创建ListPreference多选的简单方法?

    这里是您需要的所有代码! public class ListPreferenceMultiSelect extends ListPreference { //Need to make sure the ...

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

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

  9. android 自定义listpreference,java-Android,单击ListPreference项时显示对话框

    基本上,我有一个ListPreference,允许用户更改我的动态壁纸上某些文本的X位置. 它包含4个条目:顶部,中间,底部和手动输入X.前3个选项没问题,我只需在我的WallpaperService ...

  10. android列表的默认值,ListPreference默认值没有显示

    我试图设置ListPreference的默认值,但没有显示出来.ListPreference默认值没有显示 你能检查我的代码是否有任何错误? 谢谢. 诚然, 伊马德 这是settings.xml文件: ...

最新文章

  1. springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis
  2. 白给的性能不要?cvpr2021-Diverse branch block
  3. android自定义View-垂直滚动的TextView
  4. Jfinal碰到的问题记录
  5. 通信系统的同步技术归纳
  6. mysql实践小结,【java_mysql】实践小结
  7. 案例 以继承的方式实现解析频道节目单 c# 1614262275
  8. 【TensorFlow】TensorFlow从浅入深系列之十二 -- 教你深入理解卷积神经网络中的池化层
  9. 用shell脚本一键搭建LNMP环境实战
  10. ios开发 方形到圆的动画_使用UIBezierPath画个圆动画
  11. php怎么重命名文件,phpstorm如何进行文件或者文件夹重命名
  12. Java使用aspose合并两个PDF文件
  13. 传输层协议TCP—滑动窗口(6)
  14. C++转Java个人银行账户管理程序
  15. 计算机网络学习云平台,云计算机网络学习系统,云计算机网络实验室设备
  16. OpenCV for Python之图像RIO与泛洪填充
  17. 2019 年科技趋势最全汇总!
  18. 番茄花园GhostXP SP3极速装机版V03
  19. 专栏 | 香侬科技独家对话Facebook AI研究院首席科学家Devi Perikh
  20. Linux脚本 括号,linux shell取小括号()、中括号[]、大括号{}等里的内容

热门文章

  1. 操作系统之 调度算法 (java)
  2. Python编程技巧1——提示用户输入
  3. c++课程设计之迷宫游戏
  4. 一个好用的图形化deb软件包安装器
  5. Java8中list集合的常用方法
  6. 传奇脚本变量、命令名的详细解释
  7. 一名时尚艺术家转行到科技行业的历程
  8. android版音乐播放器----卡拉OK歌词实现(一)
  9. Windows10内置Linux(WSL)
  10. 推易吧重生,引发我们对币圈项目的集体思考