android 首选项 CheckBoxPreference

    ListPreference首选项显示了一个列表作为它的UI元素。类似地,CheckBoxPreference 首选项显示了一个复选框部件作为它的UI元素

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

  此首选项的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"  />

posted @ 2011-05-16 12:00  sky7034  阅读(1001)  评论(0编辑  收藏  举报
蘑菇街女装 货运专家