Android控件篇04之 CheckBox

本文介绍CheckBox控件。下面的内容都是参考"CheckBox测试代码"进行的讲解,感兴趣的可以进行测试验证。

1. CheckBox基本使用

1.1 CheckBox的父类

下面是CheckBox的继承关系图

java.lang.Object
  ↳ android.view.View
    ↳ android.widget.TextView
      ↳ android.widget.Button
        ↳ android.widget.CompoundButton
          ↳ android.widget.CheckBox

从中,可以看出Button和CompoundButton都是CheckBox父类。这也就意味着,CheckBox同时具有它们的特性。监听CheckBox点击事件时,可以像Button一样实现View.OnClickListener接口;也可以像CompoundButton一样,实现CompoundButton.OnCheckedChangeListener接口。

1.2 CheckBox基本定义

<CheckBox android:id="@+id/cb_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/cb_send" />

1.3 CheckBox事件的监听

CheckBox事件的监听,有两种方法:

第一种:实现View.OnClickListener接口。这个和监听Button的方式一样,它监听动作!

第二种:实现CompoundButton.OnCheckedChangeListener接口。这个和第一种方法的区别是,它是监听状态(监听按钮状态的变化),而第一种方法是监听动作(监听按钮的点击事件)。

下面给出的监听是通过实现CompoundButton.OnCheckedChangeListener接口来监听CheckBox。

    CheckBox mSend = (CheckBox) findViewById(R.id.cb_send);
    mSend.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if (isChecked) {
                mView.setText("selected!");
            } else {
                mView.setText("un-selected!");
            }   
        }   
    }); 
by skywang
Previous     Next