1.回顾

   上篇总结了toggleButton, AutoCompleteTextView,MultiAutoCompleteTextView 三个控件

2.知识点

  (1)CheckBox

  (2)RadioGroup

  (3)RadioButton

3.CheckBox 

   基本布局实现:


<LinearLayout 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/ckb_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="编程" />

<CheckBox
android:id="@+id/ckb_two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打球" />
</LinearLayout>


  控制实现:

//4.CheckBox 复选框 (样式 使用 style)
//01.初始化控件
ckb_one=(CheckBox)findViewById(R.id.ckb_one);
ckb_two=(CheckBox)findViewById(R.id.ckb_two);
//02.设置监听(外部独立监听类)
ckb_one.setOnCheckedChangeListener(new ckbListener());
ckb_two.setOnCheckedChangeListener(new ckbListener());

  外部独立监听类实现:


//4.CheckBox 复选框实现
class ckbListener implements CompoundButton.OnCheckedChangeListener{

@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
// checkBox操作
if(isChecked){
tv.setText(buttonView.getText()+" | "+"选中了");
}else{
tv.setText(buttonView.getText()+" | "+"没有选中");
}
}

}

4.RadioGroup 和 RadioButton

  基本布局实现:


<RadioGroup 
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">

<RadioButton
android:id="@+id/radio_man"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男"
/>
<RadioButton
android:id="@+id/radio_feman"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"
/>

</RadioGroup>


  控制实现:


//5.RedioGroup 和 RedioButton
//初始化控件
radio_group=(RadioGroup)findViewById(R.id.radio_group);
//设置监听事件 (匿名内部类)
radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// RadioButton
if(checkedId==R.id.radio_man){
RadioButton rb_man=(RadioButton) findViewById(R.id.radio_man);
tv.setText(rb_man.getText());
}else{
RadioButton radio_feman=(RadioButton) findViewById(R.id.radio_feman);
tv.setText(radio_feman.getText());
}

}
});



6.一个问题

RadioGroup.OnCheckedChangeListener 和 CompoundButton.OnCheckedChangeListener 导入包出错,且冲突?

解决:删掉导入的OnCheckedChangeListener 包,分别使用new RadioGroup.OnCheckedChangeListener()和 new CompoundButton.OnCheckedChangeListener()即可!