`
byandby
  • 浏览: 1689235 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 首选项 CheckBoxPreference

阅读更多
    ListPreference首选项显示了一个列表作为它的UI元素。类似地,CheckBoxPreference 首选项显示了一个复选框部件作为它的UI元素,更多关于ListPreference的介绍请参考这篇文章http://byandby.iteye.com/blog/1044916

   为了扩展航班搜索示例应用程序,假设希望让用户设置他希望在结果集中看到的列。此首选项显示可用的列,支持用户通过勾选响应的复选框来选择期望的列,如下图。



    此首选项的XML 文件,此XML 文件存放路径为 /res/xml/chkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
	android:key="flight_columns_pref" android:title="Flight Search Preferences"
	android:summary="Set Columns for Search Results">

	<CheckBoxPreference android:key="show_airline_column_pref"
		android:title="Airline" android:summary="Show Airline column" />

	<CheckBoxPreference android:key="show_departure_column_pref"
		android:title="Departure" android:summary="Show Departure column" />

	<CheckBoxPreference android:key="show_arrival_column_pref"
		android:title="Arrival" android:summary="Show Arrival column" />

	<CheckBoxPreference android:key="show_total_travel_time_column_pref"
		android:title="Total Travel Time" android:summary="Show Total Travel Time column" />

	<CheckBoxPreference android:key="show_price_column_pref"
		android:title="Price" android:summary="Show Price column" />
</PreferenceScreen>



   我们的PreferenceActivity 类CheckBoxPreferenceActivity
package xiaohang.zhimeng;

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class CheckBoxPreferenceActivity extends PreferenceActivity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.chkbox);
	}
}


     上边给出了首选项的XML文件 chkbox.xml,以及一个简单的活动类,该类使用addPreferencesFromResource() 来加载首选项XML文件。可以看到,UI具有5个复选框,每个复选框都使用首选项XML 文件中的 CheckBoxPreference 节点表示。每个复选框还有一个key,在保存所选的首选项时,该键最终将用于持久化UI元素的状态。有了 CheckBoxPreference,在用户设置首选项的状态时,该状态将会保存。换句话说,当用户选择或取消选择首选项控件时,将保存该控件的状态,下面给出了首选项的 数据存储,我们可以读一下。



   我们可以看到每个首选项都是通过key来保存的 key就对应 boolean 元素的name 属性。CheckBoxPreference 的数据类型为boolean, 它包含一个true值或false值:true值表示选中了首选项,false值表示未选中首选项。要读取一个复选框的首选项的值,可以访问共享对象的首选项,然后调用 getBoolean()方法,将首选项的 key 传递给它:
   Boolean option = prefs.getBoolean(“show_price_column_pref”,false);


   CheckBoxPreference 的另一个有用的特性是,可以根据是否选中了复选框来设置不同的摘要文本。它的两个特性是 summaryOn和 summaryOff,就比如我们可以这样玩。
<CheckBoxPreference android:key="show_price_column_pref"
	    android:summaryOff="11111111"
	    android:summaryOn="222222222"
		android:title="Price"  />






    选中状态和未选中状态显示不同的摘要

   源码大家参考 http://byandby.iteye.com/blog/1044916 这篇文章 下载源码,然后修改 就OK 了。
  • 大小: 32.9 KB
  • 大小: 40.3 KB
  • 大小: 7.5 KB
  • 大小: 8.1 KB
4
3
分享到:
评论

相关推荐

    自定义preference的checkboxpreference样式

    自定义preference的checkboxpreference样式

    Android中Fragmen首选项使用自定义的ListPreference的方法

    Android提供了一种健壮并且灵活的框架来处理首选项。它提供了简单的API来隐藏首选项的读取和持久化,并且提供了一个优雅的首选项界面。 几种常见的首选项: (1)CheckBoxPreference:用来打开或关闭某个功能 (2)...

    精通ANDROID 3(中文版)1/2

    9.3 以编程方式操作首选项  9.4 使用首选项保存状态  9.5 参考资料  9.6 小结  第10章 探索安全性和权限  10.1 理解Android安全性模型  10.1.1 安全性概念概述  10.1.2 为部署签名应用程序  10.2 ...

    【android5.0】自定义带动画的RadioPreference

    android5.0后,google对checkbox,switch,radio做了动画效果,包括这些类衍生的Preferen控件:SwitchPreferenc,CheckBoxPreference 但这其中并没有RadioPreference控件。假如你需要RadioPreference或者一个带特殊功能...

    android preference framework demo

    此DEMO内含基本的android preference framework的简单介绍,包括CheckboxPreference, RingtonePreference, EditTextPreference以及ListPreference。主要探究了一下android 怎么通过使用preference从而达到对用户定制...

    精通Android 3 (中文版)2/2

    9.3 以编程方式操作首选项  9.4 使用首选项保存状态  9.5 参考资料  9.6 小结  第10章 探索安全性和权限  10.1 理解Android安全性模型  10.1.1 安全性概念概述  10.1.2 为部署签名应用程序  10.2 ...

    android5.0自定义带动画的RadioPreference

    android5.0后,google对checkbox,switch,radio做了动画效果,包括 SwitchPreferenc,CheckBoxPreference 其中并没有RadioPreference控件。假如你需要RadioPreference或者一个带特殊功能的Preferece,当然你会选择了...

    Android Preference组件使用

    Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,同时Android提供一种类似的layout的方式来进行Preference的布局。 Preference组件有ListPreference,EditTextPreference,...

    Android开发实现浏览器全屏显示功能

    本文实例讲述了Android开发实现浏览器全屏显示功能。分享给大家供大家参考,具体如下: 业务需求:浏览器设置中支持...CheckBoxPreference android:key=full_screen android:defaultValue=false android:title=@stri

    Preference demo

    Preference demo good good study day day up

    Android学习笔记之Shared Preference

    需要向里面添加首选项控件,原生的这些控件有:CheckBoxPreference、EditTextPreference、ListPreference、MultiSelectListPreference和RingtonePreference,每种控件至少包含4种属性:android:key,android:title,...

    android 添加按(power键)电源键结束通话(挂断电话)

    大概思路: 首先我先添加这一个checkboxPreference,然后将是否选择这一功能的值(0和1)存到data/data/com.android.providers.settings /databases/settings.db数据库的system表中 ,然后再根据数据库表中的值在...

    Android 中CheckBox的isChecked的使用实例详解

    主要介绍了Android 中CheckBox的isChecked的使用实例详解的相关资料,需要的朋友可以参考下

    NumberPickerPreference

    正如您所拥有的 EditTextPreference 或 CheckboxPreference 一样,我需要一个带有数字选择器的简单对话框,该对话框可通过 xml 进行配置并自动更新其摘要。 您可以在下面找到屏幕截图。 #Usage 如果您使用 ...

Global site tag (gtag.js) - Google Analytics