Android保存设置的PreferenceActivity
界面XML文件:preference_setting.xml
- <?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>
<?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 的类文件:
- package com.icitylife.preference;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.preference.Preference;
- import android.preference.PreferenceActivity;
- import android.preference.PreferenceScreen;
- import android.preference.Preference.OnPreferenceChangeListener;
- public class Main extends PreferenceActivity implements OnPreferenceChangeListener {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //设置PreferenceActivity保存数据使用的XML文件的名称
- getPreferenceManager().setSharedPreferencesName("mySetting");
- //加载XML资源文件:此处就不能使用Activity的setContentView()
- addPreferencesFromResource(R.xml.preference_setting);
- //获取【姓名】设置项对应的Preference对象
- Preference individualNamePreference=findPreference("my_individual_name");
- //获得指向mySetting.xml文件的SharedPreference对象
- SharedPreferences sharedPreferences=individualNamePreference.getSharedPreferences();
- //设置【姓名】设置项的summary
- individualNamePreference.setSummary(sharedPreferences.getString("my_individual_name",""));
- //判断【是否保存个人信息】设置项是否被选中
- if(sharedPreferences.getBoolean("my_yesno_save_individual_info",false)){
- individualNamePreference.setEnabled(true);
- }else{
- individualNamePreference.setEnabled(false);
- }
- individualNamePreference.setOnPreferenceChangeListener(this);
- //获得【电话号码】设置项对应的Preference对象
- Preference mobileNamePreference=findPreference("my_mobile");
- SharedPreferences mobileSharedPreferences=mobileNamePreference.getSharedPreferences();
- //设置【电话号码】的summary
- mobileNamePreference.setSummary(mobileSharedPreferences.getString("my_mobile",""));
- mobileNamePreference.setOnPreferenceChangeListener(this);
- }
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- preference.setSummary(String.valueOf(newValue));
- return true;
- }
- /**
- * 处理【是否保存个人信息】的改变事件
- */
- @Override
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
- Preference preference){
- if("my_yesno_save_individual_info".equals(preference.getKey())){
- findPreference("my_individual_name").setEnabled(!findPreference("my_individual_name").isEnabled());
- }
- return super.onPreferenceTreeClick(preferenceScreen, preference);
- }
- }
Android保存设置的PreferenceActivity的更多相关文章
- Android ListView ListActivity PreferenceActivity背景变黑的问题ZT
Android ListView ListActivity PreferenceActivity背景变黑的问题 ListView在滚动时背景会变暗甚至变黑,这个要从Listview的效果说起,默认的L ...
- [置顶] Android框架攻击之Fragment注入
为了适应越来越大的设备屏幕,Android在3.X后引入了Fragment概念,作用是可以在一个屏幕上同时显示多个Activity,以达到充分利用屏幕的目的.关于Fragment的使用说明,可以阅读& ...
- AndroidStudio 3.5格式化xml文件出现自动改变xml元素位置问题
问题描述格式化xml时,出现自动改变了xml元素位置问题.左侧是原始的,右侧是格式化后的. 坑娘啊,这样界面就完全变了啊. 解决方案在设置里,Appearance& Behavior > ...
- Xamarin android PreferenceActivity 实现应用程序首选项设置(一)
应用程序首选项屏幕 类似系统设置界面. PreferenceActivity 是另一种类型的Activity,通过PreferenceActivity 可以以最少量的工作显示某些Preference列 ...
- Android 软件开发之 PreferenceActivity 中的组件
1.PreferenceActivity 介绍 PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的 ...
- Android学习笔记(十四)方便实用的首选项-PreferenceActivity
突然发现已经好多天没更新博客了,最近公司项目正在进行一个大跨度的重构,又碰上有新需求,一连好多天都是很晚才到家.其实这篇博文在草稿箱里面也存了很久了,本来想着不发了,不过感觉PreferenceAct ...
- Android之PreferenceActivity 详解
看到很多书中都没有对PreferenceActivity做介绍,而我正好又在项目中用到,所以就把自己的使用的在这总结一下,也方便日后查找. PerferenceActivity是什么,看下面的截图: ...
- Android实战技巧之六:PreferenceActivity使用详解
一.写作前面 当我们做应用的时候,需要用户配置一些信息,而这就是通常所说的应用设置. 对于Android系统来说,系统本身的设置带来的用户体验和习惯已经深入人心,在我们的应用中同样用到类似的设置页, ...
- Android的配置界面PreferenceActivity
我想大家对于android的系统配置界面应该不会陌生吧,即便陌生,那么下面的界面应该似曾相识吧,假若还是不认识,那么也没有关系,我们这一节主要就是介绍并讲解android 中系统配置界面的使用,相信大 ...
随机推荐
- nvarchar类型自动增长
,Col AS 'XH' + RIGHT('0000' + RTRIM(ID),4)
- C# 网页自动填表自动登录(转)
自动填表的方式有很多,关键是获取控件的id或者name. 比如源代码有 <input id="pwdInput" tabindex="2" class=& ...
- 基于h5+ajax实现的手机定位
因朋友需要,之前看了下关于h5的手机定位,目前写了个demo在这里贴出来,感兴趣的朋友可以看一下. 目前的版本只是demo,仍有几个问题需要完善一下,问题如下: 1,如何将经纬度等数据发送到被定位人看 ...
- Hdu 2971 Tower
Description Alan loves to construct the towers of building bricks. His towers consist of many cuboid ...
- 【转】来自GDXB大大大大的小总结
一 最短路 模型一 增加限制 例:给定一个图,求起点到终点的最短路,其中你可以使用最多k次机会使某条边的边权变为x. 解法:把每个点拆成k个点,分别表示还能使用多少次机会,构造新图. 模型二 一个点 ...
- SPRING IN ACTION 第4版笔记-第一章-003-AOP介绍
一.目标 要在BraveKnight调用embarkOnQuest()前后各做一些处理(调用Minstrel的方法) 二. 1.minstrel.xml <?xml version=" ...
- jni.h头文件详解一
1.jni.h头文件路径: /usr/lib/jvm/jdk_1.6.0_43/include/jni.h 2.jni.h头文件组成分析图: 3.下面通过上图进行分析讲解jni.h头文件. 一. jn ...
- 【HDOJ】4183 Pahom on Water
就是一个网络流.red结点容量为2,查看最大流量是否大于等于2.对于条件2,把边反向加入建图.条件1,边正向加入建图. /* 4183 */ #include <iostream> #in ...
- C# 验证码识别基础方法及源码
先说说写这个的背景 最近有朋友在搞一个东西,已经做的挺不错了,最后想再完美一点,于是乎就提议把这种验证码给K.O.了,于是乎就K.O.了这个验证码.达到单个图片识别时间小于200ms,500个样本人工 ...
- JSOI2008 火星人prefix
1014: [JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2918 Solved: 866[Submit][ ...