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. JsonKit 解析

    - (void)requestMapListData { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"&qu ...

  2. struct2-json

    一.JSON是什么? :JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解 析和生成.它基于JavaScript(Stan ...

  3. Android应用程序中的多个Activity的显示创建和调用

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNjE0Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  4. libaio under MIPS architecture /在mips架构下使用的libaio

    First, you can find libaio source in http://libaio.sourcearchive.com/ Second,download the libaio_0.3 ...

  5. [Redux] Generating Containers with connect() from React Redux (AddTodo)

    Code to be refacted: const AddTodo = (props, { store }) => { let input; return ( <div> < ...

  6. C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨

    1.为什么要用C语言 直到今天,C语言虽然不是使用人数最多的语言了,但是C没有老去,在很多的核心系统代码里,依然跑的是设计精美的C,绝大多数的嵌入式开发核心库软件是C开发的,多数标准算法是基于标准C设 ...

  7. eclipse美化,全黑eclipse 保护眼睛

    如标题,闲话不多说.有图说明一切.看看这是你想要的嘛? 教程及资源下载地址: http://download.csdn.net/detail/shoneworn/8326097

  8. ASP.NET实现图片防盗链(转)

    使用httpHandle来实现,对图片文件的请求做专门的处理第一步:创建一个类,继承自IHttpHandler,代码如下 C# code using System; using System.Web; ...

  9. 在美国公司架构中,LLC、LLP 和 Corporation 的区别何在?

    这个问题,首先需要弄清楚这样一个事实:LLC.LLP.Corporation分别属于三种不同类型的公司实体. 1,LLC (Limited Liability Company)是责任有限公司: 2,L ...

  10. android一些常用的代码2(收藏)

    1.收集设备信息,用于信息统计分析 public static Properties collectDeviceInfo(Context context) { Properties mDeviceCr ...