CheckBoxPreference--UI

  ListPreference首选项显示了一个列表作为它的UI元素。类似地,CheckBoxPreference 首选项显示了一个复选框部件作为它的UI元素,
   为了扩展航班搜索示例应用程序,假设希望让用户设置他希望在结果集中看到的列。此首选项显示可用的列,支持用户通过勾选响应的复选框来选择期望的列,如下图。 

 

    此首选项的XML 文件,此XML 文件存放路径为 /res/xml/chkbox.xml 
Xml代码   收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:key="flight_columns_pref" android:title="Flight Search Preferences"  
  4.     android:summary="Set Columns for Search Results">  
  5.   
  6.     <CheckBoxPreference android:key="show_airline_column_pref"  
  7.         android:title="Airline" android:summary="Show Airline column" />  
  8.   
  9.     <CheckBoxPreference android:key="show_departure_column_pref"  
  10.         android:title="Departure" android:summary="Show Departure column" />  
  11.   
  12.     <CheckBoxPreference android:key="show_arrival_column_pref"  
  13.         android:title="Arrival" android:summary="Show Arrival column" />  
  14.   
  15.     <CheckBoxPreference android:key="show_total_travel_time_column_pref"  
  16.         android:title="Total Travel Time" android:summary="Show Total Travel Time column" />  
  17.   
  18.     <CheckBoxPreference android:key="show_price_column_pref"  
  19.         android:title="Price" android:summary="Show Price column" />  
  20. </PreferenceScreen>  



   我们的PreferenceActivity 类CheckBoxPreferenceActivity 
Java代码   收藏代码
  1. package xiaohang.zhimeng;  
  2.   
  3. import android.os.Bundle;  
  4. import android.preference.PreferenceActivity;  
  5.   
  6. public class CheckBoxPreferenceActivity extends PreferenceActivity {  
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         addPreferencesFromResource(R.xml.chkbox);  
  11.     }  
  12. }  


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

 

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


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


 


 

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值