PreferenceActivity是专业的设置界面,只要给它指定一个配置好的xml,它就能自动根据操作更改程序Preference的相应值。

首先要用一个xml文件来配置一个设置界面,也就是我们说的 PreferenceScreen ,然后用PreferenceActivity将其显示。比如在res目录下建立一个xml文件夹,然后新建一个seeting.xml文件。

内容如下:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <CheckBoxPreference
android:defaultValue="false"
android:key="boolean_value"
android:summary="保存一个boolean值"
android:title="Checkbox" /> <EditTextPreference
android:defaultValue="defaultString"
android:key="string_value"
android:name="EditText"
android:summary="保存一个字符串"
android:title="Edit Text" /> </PreferenceScreen>

checkBoxPreference对应一个boolean值,EditTextPreference对应一个String。 android:key是标识符,必须是唯一的。

每次更改界面的设置之后,程序会自动持久化保存新的值。
而在程序的其他地方获取到设置的值也很简单,只需通过标识符,如获取上文中标识符为“boolean_value”和“string_value”的值, 只需使用如下方法即可获得。

boolean booleanValue = PreferenceManager.getDefaultSharedPreferences(
this).getBoolean("boolean_value", false);
String stringValue = PreferenceManager.getDefaultSharedPreferences(this)
.getString("string_value", "");

常见属性设定  有以下几种方式:

CheckBoxPreference  CheckBox

EditTextPreference  EditText

ListPreference  List

RingtonePreference   铃声

最新文章

  1. 深入javascript作用域链到闭包
  2. codevs 2216 线段树 两种更新方式的冲突
  3. jQuery Mobile_简单的爱情故事
  4. C++ json库jsoncpp 吐槽
  5. http://www.ruanyifeng.com/blog/2011/09/restful
  6. windows进程间通信 .
  7. Tomcat 设置为服务使用脚本 service
  8. 关于socket的关闭:close和shutdown
  9. echarts图表里遇到的问题
  10. 10款免费Bootstrap后台模板演示及下载
  11. Microsoft Visual 的变态
  12. border-radius属性值参数详解
  13. hdu 6045 Is Derek lying?(思维推导)
  14. git打包
  15. 01.pandas
  16. python 科学计算及数据可视化
  17. css 积累
  18. springboot中配置了拦截器后,拦截器无效的解决方案之一
  19. [Bayes] Metroplis Algorithm --&gt; Gibbs Sampling
  20. 利用PHP脚本辅助MySQL数据库管理4-两个库表结构差异比较

热门文章

  1. Maze HDU - 4035(期望dp)
  2. Zabbix通过JMX方式监控java中间件
  3. MS SQL Server 数据库连接字符串详解
  4. MongoDB3.6 一键化自动部署方案
  5. Three ways to detect outliers
  6. [物理学与PDEs]第5章习题4 广义 Hookean 定律的张量的对称性
  7. [物理学与PDEs]第4章习题1 反应力学方程组形式的化约 - 动量方程与未燃流体质量平衡方程
  8. [物理学与PDEs]第1章习题14 求解 rot 方程
  9. 使用SO_REVTIMEO套接字选项为recvfrom设置超时
  10. DIV浮动层被OCX控件遮蔽解决方案