Android-基本控件(CheckBox,RadioGroup,RadioButton)
原创
©著作权归作者所有:来自51CTO博客作者原小明呢的原创作品,请联系作者获取转载授权,否则将追究法律责任
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()即可!