Android保存设置的PreferenceActivity

界面XML文件:preference_setting.xml

[java] view plaincopyprint?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">  
  3.     <PreferenceCategory android:title="我的位置源">  
  4.         <CheckBoxPreference  
  5.             android:key="my_wireless_network"  
  6.             android:title="使用无线电"  
  7.             android:summary="使用无线网络查看应用程序(例如Google地图)中的位置"  
  8.         />  
  9.         <CheckBoxPreference  
  10.             android:key="my_gps_satellite_setting"  
  11.             android:title="启用GPS卫星设置"  
  12.             android:summary="定位时,精确到街道级别(取消选择可节约电量)"  
  13.         />  
  14.     </PreferenceCategory>  
  15.       
  16.     <PreferenceCategory android:title="个人信息设置">  
  17.         <CheckBoxPreference  
  18.             android:key="my_yesno_save_individual_info"  
  19.             android:title="是否保存个人信息"  
  20.         />  
  21.         <EditTextPreference  
  22.             android:key="my_individual_name"  
  23.             android:title="姓名"  
  24.             android:summary="请输入真实姓名"  
  25.         />  
  26.         <PreferenceScreen   
  27.             android:key="my_other_individual_msg"  
  28.             android:title="其他个人信息"  
  29.             android:summary="是否工作、手机">  
  30.             <CheckBoxPreference  
  31.                 android:key="my_is_an_employee"  
  32.                 android:title="是否工作"  
  33.             />  
  34.             <EditTextPreference  
  35.                 android:key="my_mobile"  
  36.                 android:title="手机"  
  37.                 android:summary="请输入您的手机号码"  
  38.             />  
  39.         </PreferenceScreen>  
  40.     </PreferenceCategory>  
  41. </PreferenceScreen>  

<?xml version="1.0" encoding="UTF-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="我的位置源"> <CheckBoxPreference android:key="my_wireless_network" android:title="使用无线电" android:summary="使用无线网络查看应用程序(例如Google地图)中的位置" /> <CheckBoxPreference android:key="my_gps_satellite_setting" android:title="启用GPS卫星设置" android:summary="定位时,精确到街道级别(取消选择可节约电量)" /> </PreferenceCategory> <PreferenceCategory android:title="个人信息设置"> <CheckBoxPreference android:key="my_yesno_save_individual_info" android:title="是否保存个人信息" /> <EditTextPreference android:key="my_individual_name" android:title="姓名" android:summary="请输入真实姓名" /> <PreferenceScreen android:key="my_other_individual_msg" android:title="其他个人信息" android:summary="是否工作、手机"> <CheckBoxPreference android:key="my_is_an_employee" android:title="是否工作" /> <EditTextPreference android:key="my_mobile" android:title="手机" android:summary="请输入您的手机号码" /> </PreferenceScreen> </PreferenceCategory> </PreferenceScreen>

 

 

PreferenceActivity 的类文件:

[java] view plaincopyprint?
  1. package com.icitylife.preference;  
  2.   
  3. import android.content.SharedPreferences;  
  4. import android.os.Bundle;  
  5. import android.preference.Preference;  
  6. import android.preference.PreferenceActivity;  
  7. import android.preference.PreferenceScreen;  
  8. import android.preference.Preference.OnPreferenceChangeListener;  
  9.   
  10. public class Main extends PreferenceActivity implements OnPreferenceChangeListener {  
  11.     /** Called when the activity is first created. */  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         //设置PreferenceActivity保存数据使用的XML文件的名称  
  16.         getPreferenceManager().setSharedPreferencesName("mySetting");  
  17.         //加载XML资源文件:此处就不能使用Activity的setContentView()  
  18.         addPreferencesFromResource(R.xml.preference_setting);  
  19.         //获取【姓名】设置项对应的Preference对象  
  20.         Preference  individualNamePreference=findPreference("my_individual_name");  
  21.         //获得指向mySetting.xml文件的SharedPreference对象  
  22.         SharedPreferences sharedPreferences=individualNamePreference.getSharedPreferences();  
  23.         //设置【姓名】设置项的summary  
  24.         individualNamePreference.setSummary(sharedPreferences.getString("my_individual_name",""));  
  25.         //判断【是否保存个人信息】设置项是否被选中  
  26.         if(sharedPreferences.getBoolean("my_yesno_save_individual_info",false)){  
  27.             individualNamePreference.setEnabled(true);  
  28.         }else{  
  29.             individualNamePreference.setEnabled(false);  
  30.         }  
  31.         individualNamePreference.setOnPreferenceChangeListener(this);  
  32.         //获得【电话号码】设置项对应的Preference对象  
  33.         Preference mobileNamePreference=findPreference("my_mobile");  
  34.         SharedPreferences mobileSharedPreferences=mobileNamePreference.getSharedPreferences();  
  35.         //设置【电话号码】的summary  
  36.         mobileNamePreference.setSummary(mobileSharedPreferences.getString("my_mobile",""));  
  37.         mobileNamePreference.setOnPreferenceChangeListener(this);  
  38.     }  
  39.   
  40.     @Override  
  41.     public boolean onPreferenceChange(Preference preference, Object newValue) {  
  42.         preference.setSummary(String.valueOf(newValue));  
  43.         return true;  
  44.     }  
  45.       
  46.     /** 
  47.      * 处理【是否保存个人信息】的改变事件 
  48.      */  
  49.     @Override  
  50.     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,  
  51.             Preference preference){  
  52.         if("my_yesno_save_individual_info".equals(preference.getKey())){  
  53.             findPreference("my_individual_name").setEnabled(!findPreference("my_individual_name").isEnabled());  
  54.         }  
  55.         return super.onPreferenceTreeClick(preferenceScreen, preference);  
  56.     }  
  57. }  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正点原子FreeRTOS(上)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

Vue通过build打包后 打开index.html页面是空白的

最近在build打包vue项目遇到了几个问题&#xff0c;如下&#xff1a; 1、npm run build打包项目之后&#xff0c;我们通常是把dist文件里面被压缩后的static文件跟index.html提交到服务器&#xff0c;但最近发现直接打开index.html页面是空白的&#xff0c;还会报几个错&#x…

学习PetShop3.0(2)宠物展示

宠物展示&#xff0c;也就是商品展示&#xff08;汗……&#xff09;涉及到这个主题的页有Category.aspx / Items.aspx / ItemDetails.aspx&#xff0c;分别是大类/小类/详细信息这三个。下面来一个一个的分析要注意的是&#xff0c;像第一篇说的&#xff0c;数据的传递都是采用…

jQuery DataTables

jQuery DataTables 数据表格控件 资料地址如下&#xff1a;http://www.datatables.net/

Web Service应用举例 及一问题的解决方法

由于系统要求 需要做一webservice将应用服务器的压力分配到其它的机器上&#xff0c;于是写了下面的WebSerivce服务using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.Web;using System.Web.Servic…

[转]Java反射机制详解

目录 1反射机制是什么2反射机制能做什么3反射机制的相关API通过一个对象获得完整的包名和类名实例化Class类对象获取一个对象的父类与实现的接口获取某个类中的全部构造函数 - 详见下例通过反射机制实例化一个类的对象获取某个类的全部属性获取某个类的全部方法通过反射机制调用…

AWS IOT Device C SDK 使用(阿里云一机一密、一型一密、公钥、私钥、CA、根证书、签名、验签、哈希、X.509)

AWS IOT Device C SDK 使用 AWS IOT接入及测试 阿里云设备影子&#xff1a;类似MQTT的遗嘱 阿里云设备接入、设备管理方案 阿里云&#xff1a;一机一密、一型一密、CA证书、证书获取、证书烧录 公钥、私钥、数字签名和数字证书的概念及解密(数字证书&#xff1a;CA用自己的私…

centos 5.8 升级php5.1至5.3

为什么80%的码农都做不了架构师&#xff1f;>>> 1.先查看当前php版本 #php -v 2.升级php版本 #rpm --import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy #wget -P /etc/yum.repos.d/ http://repo.webtatic.com/yum/webtatic.repo #yum --enablere…

9种没结果的爱(未婚者必读)!!!

时间可以改变一切&#xff01;”这话不假&#xff0c;但是放在爱情里&#xff0c;你就得掂量掂量。如果你现在正在试图改变你们尴尬的局面&#xff0c;以下8种情况供你参考。没有结果的爱&#xff0c;该放手还是尽快吧。      一、你在乎对方比较多     你在谈恋爱&…

redis集群部署及常用的操作命令_01

简单说下自己测试搭建简单的redis集群的大体步骤&#xff1a; 1.首先你的有6个redis&#xff08;官方说最少6个&#xff0c;3master&#xff0c;3slave&#xff09;&#xff0c;可以先在一台机器上搭建&#xff0c;搭建到多台上应该只需要改变启动命令即可&#xff08;可能需要…

ubuntu网络环境搭建

参考&#xff1a;https://www.bilibili.com/video/BV1n541197rk?spm_id_from333.999.0.0 目录开发板网线直连电脑网口&#xff0c;电脑WIFI上网有的公司保密性强&#xff0c;可能要找网络管理员协助 开发板网线直连电脑网口&#xff0c;电脑WIFI上网 开发板一定要上电并连接到…

linux下ORACLE的Sqlplus命令

一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户&#xff0c;如下su – oracle   1.进入到sqlplus启动实例[rootoracle ~]# su – oracle 切换到oracle用户-bash-3.2$ lsnrctl start a、启动ORACLE系统oracle>svrmg…

在statspack显示完整的SQL

用spreport.sql生成statspack文件时,其中的SQL语句只显示了5行,往往显示不完整,有时又需要完整的SQL来进一步分析SQL的性能问题.以前一直不知道怎么办,今天查资料找到了解决办法. 对于8i,直接修改spreport.sql文件中的下面这一句,把5改为20等更大的值 define num_rows_per_hash…

How to use QueryPerformanceCounter? (c++,不使用 .Net)

出处&#xff1a;https://stackoverflow.com/questions/1739259/how-to-use-queryperformancecounter 参考&#xff1a;https://docs.microsoft.com/zh-cn/windows/desktop/WmiSdk/accessing-performance-data-in-c--#example #include <windows.h>double PCFreq 0.0; _…

高级 IO(非阻塞、多路复用、异步、存储映射、文件锁)

目录非阻塞I/O阻塞I/O 与非阻塞I/O 读文件阻塞I/O 的优点与缺点使用非阻塞I/O实现并发读取I/O 多路复用何为I/O多路复用select()函数poll()函数总结非阻塞I/O 关于“阻塞”一词前面已经给大家多次提到&#xff0c;阻塞其实就是进入了休眠状态&#xff0c;交出了CPU 控制权。前…

程序员---我的读书列表

2019独角兽企业重金招聘Python工程师标准>>> 1、JAVA核心技术 2、knuth《The Art of program》四卷&#xff0c;辅导书《基本数学》 转载于:https://my.oschina.net/muyexia/blog/225376

.NET3.0已经Pre-release了

.NET3.0已经Pre-release了。下面的链接可以下载运行库&#xff1a;http://www.microsoft.com/downloads/details.aspx?FamilyId8D09697E-4868-4D8D-A4CF-9B82A2AE542D&displaylangen它的发布日期是: 2006-06-23在该页面下面的Related Resources有SDK下载Windows SDK for .…

IE11下用forms身份验证的问题

<authentication mode"Forms"><forms name"weboa" loginUrl"login.aspx" protection"All" path"/"/></authentication> 在IE10Mozilla Firefox都正常&#xff0c;升级到IE11的电脑都登陆不了了。。。奇怪…

C语言的枚举类型(Enum)

参考&#xff1a;C语言的枚举类型&#xff08;Enum) 地址&#xff1a;https://blog.csdn.net/aliyonghang/article/details/123615803?spm1001.2014.3001.5502 在实际编程中&#xff0c;有些数据的取值往往是有限的&#xff0c;只能是非常少量的整数&#xff0c;并且最好为每个…

【HDOJ】1597 find the nth digit

二分。 1 #include <stdio.h>2 #include <math.h>3 4 int main() {5 int case_n;6 double n, tmp, l, r;7 int m;8 9 scanf("%d", &case_n); 10 11 while (case_n--) { 12 scanf("%lf", &n); 13 …