package com.example.preference;

import android.content.Context;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.widget.Toast; public class MainActivity1 extends PreferenceActivity { Context mContext = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences
addPreferencesFromResource(R.xml.checkbox); mContext = this; //CheckBoxPreference组件
CheckBoxPreference mCheckbox0 = (CheckBoxPreference) findPreference("checkbox_0");
mCheckbox0.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override
public boolean onPreferenceClick(Preference preference) {
//这里可以监听到这个CheckBox 的点击事件
return true;
}
}); mCheckbox0.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override
public boolean onPreferenceChange(Preference arg0, Object newValue) {
//这里可以监听到checkBox中值是否改变了
//并且可以拿到新改变的值
Toast.makeText(mContext, "checkBox_0改变的值为" + (Boolean)newValue, Toast.LENGTH_LONG).show();
return true;
}
}); CheckBoxPreference mCheckbox1 = (CheckBoxPreference) findPreference("checkbox_1");
mCheckbox1.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override
public boolean onPreferenceClick(Preference preference) {
//这里可以监听到这个CheckBox 的点击事件
return true;
}
}); mCheckbox1.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override
public boolean onPreferenceChange(Preference arg0, Object newValue) {
//这里可以监听到checkBox中值是否改变了
//并且可以拿到新改变的值
Toast.makeText(mContext, "checkBox_1改变的值为" + (Boolean)newValue, Toast.LENGTH_LONG).show();
return true;
}
}); } }

checkbox.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="CheckBoxPreference">
<CheckBoxPreference android:key="checkbox_0"
android:title="CheckBox_A"
android:summary="这是一个勾选框A" >
</CheckBoxPreference> <CheckBoxPreference android:key="checkbox_1"
android:title="CheckBox_B"
android:summary="这是一个勾选框B" >
</CheckBoxPreference>
</PreferenceCategory>
</PreferenceScreen>

PreferenceActivity 自动保存属性的更多相关文章

  1. ArcGIS Add-in——自动保存编辑

    需求:由于初次使用ArcGIS编辑器不习惯.数据量大造成经常程序未响应.计算机断电等因素,造成编辑的数据没有保存,影响了生产效率,本人根据草色静然的博文,总结了自动保存编辑的实现方法. 分析:自动保存 ...

  2. arcgis的mxd数据源检查,和自动保存为相对路径

    arcgis的mxd数据源(含矢量和影像)检查,和,检查是否为相对路径,自动保存为相对路径 ArcGIS10.0和ArcGIS10.2.2测试通过 下载地址:http://files.cnblogs. ...

  3. 【React】377- 实现 React 中的状态自动保存

    点击上方"前端自习课"关注,学习起来~ 作者:陈俊宇 https://github.com/CJY0208 什么是状态保存? 假设有下述场景: 移动端中,用户访问了一个列表页,上拉 ...

  4. DataGridView自动保存列的宽度和位置

    WinForm程序中表单的自动保存列的宽度和位置,是一种常见的功能,对于用户体验来说是非常好的.现记录一下实现过程: 1.新建一个类,命为为:DataGridViewColumnStyle. 这个类实 ...

  5. Fiddler抓取内容自动保存本地

    Fiddler抓取内容自动保存本地 一.点击FidderScript 二.选择你想要的获得内容的方法 OnBeforeRequest:发送请求后 OnBeforeResponse:获得响应 三.修改j ...

  6. iOS 创建模型时自动生成属性

    转载 mark666(简书作者), 链接:http://www.jianshu.com/p/63ee533a7705 我们在创建模型的时候,常常要写一大堆恶心的@property(nonatomic, ...

  7. sublime如何自动保存

    sublime是前端开发者喜欢使用的工具,它有很多快捷方式可以让我们快速的编写代码:在开发过程中,每次修改代码之后都要按Ctrl+S保存.在这里向大家介绍一下如何设置让它自动保存. 一.打开subli ...

  8. DynamicsCRM中的自动保存

    DynamicsCRM的自动保存功能 在DynamicsCRM2013开始,引入了自动保存功能. 保存一条记录 在新建一条记录的时候, 你必须在左上角手动点击保存按钮.如下图: 当保存完后,会发现,左 ...

  9. MyEclipse运行前自动保存

    MyEclipse中又一坑人设置.运行编译好的代码,如果不手动保存的话,MyEclipse是不会自动保存的.所以,在运行前如果对代码做了修改,运行的依然是上一次的结果. 修改这个反人类设置步骤如下: ...

随机推荐

  1. NTP 服务器配置

    1.yum安装ntp 1 yum install ntp* 2.更新时间 1 ntpdate 202.120.2.101 3.加入任务计划 1 2 crontab -e */10 * * * * nt ...

  2. 通过 Azure 媒体管理门户开始使用直播流媒体

    Jason Suess Azure媒体服务首席项目经理 几个月前,我们宣布发布 Azure媒体服务直播服务的公共预览版.其实这些直播服务早已被美国国家广播公司体育台用于多项重大体育赛事的多平台直播 ...

  3. 【转】VC中获取文件的相对路径和绝对路径

    原文网址:http://www.360doc.com/content/13/0703/16/3402399_297386231.shtml

  4. (转载)一句简单命令重启nginx - [nginx]

    (转载)http://iambin.blogbus.com/logs/62429223.html 经常需要重启nginx,但网上的很多教程都需要繁琐的启动脚本,远不如apache的重启命令那么简单.  ...

  5. 用友U8账套的建立

      第1步点击开始菜单进入系统管理模块   第2步点击系统菜单下的注册   第3步弹出登录系统对话框,操作员输入admin点确定   第4步点击权限菜单下的用户   第5步进入用户管理窗口,点击工具栏 ...

  6. Android 画直线并实现拖动

    自定义View,在onDraw()方法中绘制一条直线,在onTouch()方法中监听手指的移动. public class AroundDragView extends View implements ...

  7. Google Code Jam 第一题

    通过的第一题,留做纪念,呵呵,非常简单,Africa 2010, Qualification Round: Store Credit. #include <stdio.h> #includ ...

  8. 委托demo

    delegate bool Filter(string s); class test { static void Main() { Filter f=new Filter(A); Display(ne ...

  9. poj 2325 Persistent Numbers (贪心+高精度)

    把输入数字每次从9-2除,能整除则记录该数字,最后从小到大输出. 应该算是水题,不过窝第一次写高精度除法,虽然1A,不过中间改了好多次. /****************************** ...

  10. poj 1273 Drainage Ditches【最大流入门】

    Drainage Ditches Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 63924   Accepted: 2467 ...