可保存设置的activity :preferenceActivity

PreferenceActivity提供了一些常用的设置项,
  1. <?xml version="1.0" encoding="utf-8"?> 

  2. <PreferenceScreen  //一个设置界面对应一个PreferenceScreen标签||如果嵌套使用PreferenceScreen 
    说明该设置页下有一个子设置页。单击该设置页就会进入这个子设置页

  3.   xmlns:android="http://schemas.android.com/apk/res/android"> 
  4.     <PreferenceCategory //表示一个设置分类,title属性表示分类名称该名称会显示在界面
  5.  android:title="CheckBoxPreference">   
  6.     <CheckBoxPreference //表示选择菜单,title就是该属性值就是保存在xml文件中的key属性
  7. android:key="checkbox_0" 
  8.         android:title="CheckBox_A" //设置项的标题
  9.         android:summary="这是一个勾选框A" > //设置项的摘要
  10.     </CheckBoxPreference> 
  11.       
  12.     <CheckBoxPreference android:key="checkbox_1" 
  13.         android:title="CheckBox_B" 
  14.         android:summary="这是一个勾选框B" > 
  15.     </CheckBoxPreference> 
  16.     </PreferenceCategory> 
  17. <EditTextPreference // 点击会弹出一个带有EditText组件的对话框
  18. <ListPreference //单击该设置项会弹出一个带有ListView组件的对话框
  19. </PreferenceScreen> 
  20. 使用xml文件方式创建设置页面。在res目录下建立一个xml目录,
  21. 然后建立一个.xml布局文件

需要使用addPreferencesFromResource(R.xml.__xml);
java.文件
  1. import android.content.Context;  
  2. import android.os.Bundle;  
  3. import android.preference.CheckBoxPreference;  
  4. import android.preference.Preference;  
  5. import android.preference.PreferenceActivity;  
  6. import android.preference.Preference.OnPreferenceChangeListener;  
  7. import android.preference.Preference.OnPreferenceClickListener;  
  8. import android.widget.Toast;  
  9.  
  10. public class CheckBoxActivity extends PreferenceActivity {  
  11.  
  12.     Context mContext = null;  
  13.     @Override  
  14.     protected void onCreate(Bundle savedInstanceState) {  
  15.     super.onCreate(savedInstanceState);  
  16.     // 从资源文件中添Preferences ,选择的值将会自动保存到SharePreferences  
  17.     addPreferencesFromResource(R.xml.checkbox);  
  18.       
  19.     mContext = this;  
  20.       
  21.     //CheckBoxPreference组件  
  22.     CheckBoxPreference mCheckbox0 = (CheckBoxPreference) findPreference("checkbox_0");  
  23.     mCheckbox0.setOnPreferenceClickListener(new OnPreferenceClickListener() {  
  24.           
  25.         @Override  
  26.         public boolean onPreferenceClick(Preference preference) {  
  27.         //这里可以监听到这个CheckBox 的点击事件  
  28.         return true;  
  29.         }  
  30.     });  
  31.       
  32.     mCheckbox0.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {  
  33.           
  34.         @Override  
  35.         public boolean onPreferenceChange(Preference arg0, Object newValue) {  
  36.         //这里可以监听到checkBox中值是否改变了  
  37.         //并且可以拿到新改变的值  
  38.           Toast.makeText(mContext, "checkBox_0改变的值为" +  (Boolean)newValue, Toast.LENGTH_LONG).show();    
  39.         return true;  
  40.         }  
  41.     });  
  42.  
  43.     CheckBoxPreference mCheckbox1 = (CheckBoxPreference) findPreference("checkbox_1");  
  44.     mCheckbox1.setOnPreferenceClickListener(new OnPreferenceClickListener() {  
  45.           
  46.         @Override  
  47.         public boolean onPreferenceClick(Preference preference) {  
  48.         //这里可以监听到这个CheckBox 的点击事件  
  49.         return true;  
  50.         }  
  51.     });  
  52.       
  53.     mCheckbox1.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {  
  54.           
  55.         @Override  
  56.         public boolean onPreferenceChange(Preference arg0, Object newValue) {  
  57.         //这里可以监听到checkBox中值是否改变了  
  58.         //并且可以拿到新改变的值  
  59.           Toast.makeText(mContext, "checkBox_1改变的值为" +  (Boolean)newValue, Toast.LENGTH_LONG).show();    
  60.         return true;  
  61.         }  
  62.     });  
  63.       
  64.     }  
  65.  
  66. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值