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. Java Service Wrapper

    Java Service Wrapper 将Java 应用程序部署成Windows系统服务Java Service Wrapper 1 Product Overview 1 Editions 2 Me ...

  2. 【转】10个你必须掌握的超酷VI命令技巧

    摘要:大部分Linux开发者对vi命令相当熟悉,可是遗憾的是,大部分开发者都只能掌握一些最常用的Linux vi命令,下面介绍的10个vi命令虽然很多不为人知,但是在实际应用中又能让你大大提高效率. ...

  3. hdu 5465 Clarke and puzzle(前缀和,异或,nim博弈)

    Problem Description Clarke is a patient with multiple personality disorder. One day, Clarke split in ...

  4. [Android 4.4.3] 泛泰A860 Omni4.4.3 20140610 RC2.0 三版通刷 by syhost

    欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam  (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...

  5. MySQL5.6 windows7下安装及基本操作

    图形界面安装MySQL5.6关于图形界面的安装,网上相关相关资料比较多,此处省略安装过程.安装过程中选择安装路径.所需组件及root账号密码.1.目前针对不同用户,MySQL提供了2个不同的版本:My ...

  6. flex与js相互调用

    1.flex调用js方法 调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/&q ...

  7. 什么时候会刷新备库控制文件refresh the standby database control file?

    通过合理的设置,对于Primary的绝大数操作,都是可以传递到Physical Standby,datafile的操作是通过STANDBY_FILE_MANAGEMENT参数来控制的,但是即使STAN ...

  8. iOS 生成.a文件

    一.新建一个工程,选择Cocoa Touch Static Library. 二. 三. 四. 五. 六. 七. 八. 九. 十. 十一. 十二. 十三.打开终端,输入以下命令将真机和模拟器中的.a合 ...

  9. PHP实现简单爬虫

    <?php /**  * 爬虫程序 -- 原型  *  * 从给定的url获取html内容  *  * @param string $url  * @return string  */ func ...

  10. 基于DateTime Picker修改成类似旅游网站出发日期选择的功能

    原版说明文档:http://www.bootcss.com/p/bootstrap-datetimepicker/ 修改后可支持多日期选择和控制可选日期,这样就能在后台设置哪些日期可选,前台展示时可以 ...