CheckBox和RadioButton以及RadioGroup

时间:2024-04-06 00:04:29

CheckBox:复选框

有两种状态

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

属性

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

RadioGroup与RadiosButton

单独一个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;
}
} }