Android CheckBox

分享到:

CheckBox控件是Android应用开发的常用控件,Checkbox本质就是一个复选框是一种有双状态按钮的特殊类型,可以选中或者不选中,CheckBox可以单独使用也可以是一组,好处是不需要用户输入具体内容只需选中项目就可以了,很大程度上简化了人机交互。

CheckBox结构:

java.lang.Object

android.view.View

       android.widget.TextView

              android.widget.Button

                     android.widget.CompoundButton

                            android.widget.CheckBox

通过实例来了解CheckBox的使用方法

XML布局文件内容如下:

<?xml version="1.0" encoding="utf-8"?> 
          <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical" 
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent" 
              > 
          <EditText 
              android:id="@+id/editText1"   
              android:layout_width="fill_parent"  
              android:layout_height="wrap_content"  
              android:text="请选择" 
              /> 
          <CheckBox 
             android:id="@+id/beijing" 
             android:layout_width="wrap_content" 
              android:layout_height="wrap_content" 
              android:text="北京" 
              /> 
          <CheckBox 
              android:id="@+id/shanghai" 
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content" 
              android:text="上海" 
              /> 
          <CheckBox 
              android:id="@+id/shenzhen" 
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content" 
              android:text="深圳" 
              /> 
          </LinearLayout> 

JAVA源码内容如下:

package checkbox.pack; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.CheckBox; 
import android.widget.CompoundButton; 
import android.widget.EditText; 
 
public class CheckBoxTest extends Activity { 
     
    //对控件对象进行声明 
    CheckBox beijing=null; 
    CheckBox shanghai=null; 
    CheckBox shenzhen=null; 
    EditText editText1=null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        //通过控件的ID来得到代表控件的对象 
        beijing=(CheckBox)findViewById(R.id.beijing); 
        shanghai=(CheckBox)findViewById(R.id.shanghai); 
        shenzhen=(CheckBox)findViewById(R.id.shenzhen); 
        editText1=(EditText)findViewById(R.id.editText1); 
        //给CheckBox设置事件监听 
        beijing.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ 
            @Override 
            public void onCheckedChanged(CompoundButton buttonView, 
                    boolean isChecked) { 
                // TODO Auto-generated method stub 
                if(isChecked){ 
                    editText1.setText(buttonView.getText()+"选中"); 
                }else{ 
                    editText1.setText(buttonView.getText()+"取消选中"); 
                } 
            } 
        }); 
        shanghai.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ 
            @Override 
            public void onCheckedChanged(CompoundButton buttonView, 
                    boolean isChecked) { 
                // TODO Auto-generated method stub 
                if(isChecked){ 
                    editText1.setText(buttonView.getText()+"选中"); 
                }else{ 
                    editText1.setText(buttonView.getText()+"取消选中"); 
                } 
            } 
        }); 
        shenzhen.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ 
            @Override 
            public void onCheckedChanged(CompoundButton buttonView, 
                    boolean isChecked) { 
                // TODO Auto-generated method stub 
                if(isChecked){ 
                    editText1.setText(buttonView.getText()+"选中"); 
                }else{ 
                    editText1.setText(buttonView.getText()+"取消选中"); 
                } 
            } 
        }); 
    } 
} 

运行效果如下图:

最后总结一下:
Checked属性是CheckBox最重要的属性之一,有两种方式改变它的状态:
1、XML中申明Checked属性
2、代码动态改变 ,比如通过用户触摸触发OnCheckedChange事件来设置
通过在代码中使用OnCheckedChangeListener监听器来监听这个事件。

昵    称:
验证码:

相关文档:

Android控件
Android基础知识
Android组件
Android实例