CheckBoxPreference 选中为true 取消选中为false 它的值会以boolean的形式储存在SharedPreferences中。

  • <?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>

复制代码

2011-9-3 01:13:55 上传

下载附件
(27.8 KB)

  • 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 CheckBoxActivity 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;
  • }
  • });
  • }
  • }

CheckBoxPreference组件的更多相关文章

  1. Android 软件开发之 PreferenceActivity 中的组件

    1.PreferenceActivity 介绍 PreferenceActivity 继承ListActivity 它是以一个列表的形式在展现内容,它最主要的特点是添加Preference可以让控件的 ...

  2. 转:Android软件开发之PreferenceActivity中的组件

    本文转于 “雨松MOMO的程序世界” 博客,请务必保留此出处http://xys289187120.blog.51cto.com/3361352/656784 1.PreferenceActivity ...

  3. PreferenceActivity 自动保存属性

    package com.example.preference; import android.content.Context; import android.os.Bundle; import and ...

  4. ExtJS 4.2 评分组件

    上一文章是扩展ExtJS自带的Date组件.在这里将创建一个评分组件. 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2上的一个RatingStar ...

  5. react组件的生命周期

    写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...

  6. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  7. Angular2入门系列教程3-多个组件,主从关系

    上一篇 Angular2项目初体验-编写自己的第一个组件 好了,前面简单介绍了Angular2的基本开发,并且写了一个非常简单的组件,这篇文章我们将要学会编写多个组件并且有主从关系 现在,假设我们要做 ...

  8. Angular2入门系列教程2-项目初体验-编写自己的第一个组件

    上一篇 使用Angular-cli搭建Angular2开发环境 Angular2采用组件的编写模式,或者说,Angular2必须使用组件编写,没有组件,你甚至不能将Angular2项目启动起来 紧接着 ...

  9. .NET Core 首例 Office 开源跨平台组件(NPOI Core)

    前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET C ...

随机推荐

  1. 【转】V4L2+swscale+X264+live555实现流媒体服务端

    写这边博客,一方面是因为自己在做项目的时候不太做笔记,怕以后自己忘记了.另一方面,是让正在寻求资料的同行少走一点弯路吧.不能说我这个方案怎么的好,至少是有一点参考价值的.这边博客需要一定基础才能看明白 ...

  2. Linux —— Shell编程之变量赋值和引用

    Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...

  3. Unity 获取服务器时间 HTTP请求方式

    在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了...., 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法. 方法总结: 1. 使用HTTP请求获取服务器 ...

  4. Error Correct System(模拟)

     Error Correct System Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  5. 用 oracle vitual box 克隆虚拟机,找不到eth0的解决方案

    用 oracle vitual box 克隆虚拟机 当我们需要使用多台虚拟机的时候,如果一台一台的安装,实在是太过麻烦了.所以一般的虚拟机软件都为我们提供了克隆已有虚拟机状态的功能.Oracle vi ...

  6. HDU 4735 Little Wish~ lyrical step~(DLX , 反复覆盖)

    解题思路: DLX 的模板题.反复覆盖. #include <stdio.h> #include <string.h> #include <iostream> #i ...

  7. Hyperion Essbase BusinessRule 函数学习--2

    @AVG Returns the average of all values in expList. [返回表达式列表的平均值] Syntax @AVG (SKIPNONE | SKIPMISSING ...

  8. android——ObjectAnimator动画

    在新的android sdk中谷歌为我们提供了新的动画实现方式.化繁为简.将以前的animation动画进一步封装,使用起来更加方便. 先来看XML文件: <RelativeLayout xml ...

  9. windows 7 旗舰版 切换 中英文 界面

    http://jingyan.baidu.com/article/f7ff0bfc4963612e26bb131e.html 如果遇到:想下载英语语言包,但是出现代码80070643,windowsu ...

  10. ANCS协议翻译

    综述 苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式. 依赖 ANCS的使用没有依赖, ...