作者:逸之思 | 来源:互联网 | 2023-08-04 17:58
常用基础空组件6CheckBox复选框是常用组件之一,但是开发过程中虽然很多地方会用到复选框,但是却不会用Android系统提供的原始样式,类似我们在写html时,不同的浏览器提供
常用基础空组件
6 CheckBox
复选框是常用组件之一,但是开发过程中虽然很多地方会用到复选框,但是却不会用Android系统提供的原始样式,类似我们在写html时,不同的浏览器提供的复选框按钮是不一样的,兼容性也很差,一般用图片替代伪装。但是无论如何伪装样式,复选框的功能都是一样的。
layout中组件:
Activity中组件:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取checkbox
cb1 = (CheckBox)findViewById(R.id.cb1);
cb2 = (CheckBox)findViewById(R.id.cb2);
// 为checkbox注册事件监听(当复选框被选中或从选中到未被选中状态时这个类的onCheckedChanged方法被触发)
CBCheckedImpl impl = new CBCheckedImpl();
cb1.setOnCheckedChangeListener(impl);
cb2.setOnCheckedChangeListener(impl);
}
// Activity内部类,实现android.widget.CompoundButton.OnCheckedChangeListener接口同时实现onCheckedChanged方法
btn表示发生状态变化的组件,flag如果为true表示选中,否则表示为被选中
@Override
public void onCheckedChanged(CompoundButton btn, boolean flag) {
// TODO Auto-generated method stub
String rs = "nothing";
rs = flag?"选中了"+btn.getText().toString():"未选中"+btn.getText().toString();
Toast.makeText(CheckBoxActivity.this,rs, Toast.LENGTH_SHORT).show();
}
}
注意:
1)复选框的使用基本和单选按钮差不多,主要就是要记住单选按钮实现的接口监听是android.widget.RadioGroup.OnCheckedChangeListener;然而复习按钮实现的监听是android.widget.CompoundButton.OnCheckedChangeListener。不要以为单选按钮和复选按钮都是CompoundButton的子类,就应该实现相同的接口,实际上是因为,单选按钮有组的概念,然而复选按钮没有组的概念。
下一节将学习UI的
7 ProgressBar
8 ListView ListActivity SimpleAdapter
Android 第十一课——UI Checkbox