多选:在java文件中为每一个CheckBox都编写一个监听器,该监听器实现的是CompoundButton.OnCheckedChangeListener()提供的接口,需要重写里面的public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)方法,这个方法的第一个参数是用来接收CompoundButton对象,第二个参数是用来接收是否被选中,在这个方法里面可以做一系列的判断和操作,比如判断某个CheckBox有没有被选中。
football.setOnCheckedChangeListener(newCompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
System.out.println("你选择了足球");
Toast.makeText(Activity12Activity.this, "你选择了足球", Toast.LENGTH_SHORT).show();//弹出提示
}
else{
System.out.println("你取消了足球");
Toast.makeText(Activity12Activity.this, "你取消了足球", Toast.LENGTH_SHORT).show();
}
单选:RadioGroup是RadioButton的组。一个RadioGroup里面可以有多个RadioButton,但是只能选中其中的一个RadioButton。
main.xml
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<RadioButton
android:id="@+id/male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男" />
<RadioButton
android:id="@+id/female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>
在RadioCheck.java文件中,编写监听器,监听器实现的是RadioGroup.OnCheckedChangeListener()提供的接口,需要重写里面的public void onCheckedChanged(RadioGroup group, int checkedId) 方法,这个方法的第一个参数是用来接收RadioGroup对象,第二个参数是用来接收被选中的RadioButton的ID。
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if(female.getId()==checkedId){
System.out.println("选择了女");
Toast.makeText(Activity12Activity.this, "女", Toast.LENGTH_SHORT).show();
}
else if(male.getId()==checkedId){
System.out.println("选择了男");
Toast.makeText(Activity12Activity.this, "男", Toast.LENGTH_SHORT).show();
}
}
});