首页 > 代码库 > CheckBox和RadioButton以及RadioGroup

CheckBox和RadioButton以及RadioGroup

CheckBox:复选框

有两种状态

       选中状态(true),未选状态(false

属性

       android:checked= “false”(表示该复选框未被选中)

 RadioGroupRadiosButton

单独一个RadioButton一旦按下,取消是比较麻烦的,因此不建议单独使用RadioButton

首先看RadioGroup

他是RadioButton的一个集合,提供多选一机制。

RadioGroup属性,android:orientation=”vertical””horizontal”

决定RadioButton的排列方式,是垂直排布或水平排布

通过具体示例看一下如何监听相应事件

package com.example.checkboxandradiobox;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioGroup;

public class MainActivity extends Activity implements android.widget.RadioGroup.OnCheckedChangeListener{

	private RadioGroup rg;
	private CheckBox checkBox;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 初始化checkBox
        checkBox = (CheckBox)findViewById(R.id.checkBox1);
        
        //通过设置checkbox的监听事件来对checkbox是不是被选中
        checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean ischecked) {
				//通过oncheckedChanged来监听当前的checkBox是否被选中
				if(ischecked){
					//获得checkBox的文本内容
					String msg = checkBox.getText().toString();
					Log.i("tag", msg);
				}
			}
		});
        
        //初始化RadioGroup
        rg = (RadioGroup) findViewById(R.id.radioGroup1);
        //实现RadioGroup的监听事件
        rg.setOnCheckedChangeListener(this);
    }
	@Override
	public void onCheckedChanged(RadioGroup group, int checkId) {
		switch (checkId) {
		case R.id.radio0:
			Log.i("tag", "当前选中男孩");		
			break;
		case R.id.radio1:
			Log.i("tag", "当前选中女孩");
			break;
		}
	}
    
}


 

CheckBox和RadioButton以及RadioGroup