CheckBoxPreference组件

时间:2022-06-18 13:49:38

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>

复制代码

CheckBoxPreference组件 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;
  • }
  • });
  • }
  • }