RadioButton和CheckBox

来源:互联网 发布:vb财务管理系统源码 编辑:程序博客网 时间:2024/06/11 20:00

Francis学习笔记三

1.Radio和CheckBox区别;

2.RadioButton和RadioGroup的关系;

3.事件监听设置相关浅析;

4.CheckBox绑定事件的简单办法。


一、RadioButton和CheckBox的区别:

1、单个RadioButton在选中后,通过点击无法变为未选中      

   单个CheckBox在选中后,通过点击可以变为未选中

2、一组RadioButton,只能同时选中一个

   一组CheckBox,能同时选中多个

3、RadioButton在大部分UI框架中默认都以圆形表示

   CheckBox在大部分UI框架中默认都以矩形表示

二、RadioButton和RadioGroup的关系:

1、RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器

2、每个RadioGroup中的RadioButton同时只能有一个被选中

3、不同的RadioGroup中的RadioButton互不相干,即如果组A中有一个选中了,组B中依然可以有一个被选中

4、一般情况下,一个RadioGroup中至少有2个RadioButton

5、一般情况下,一个RadioGroup中的RadioButton默认会有一个被选中,并建议您将它放在RadioGroup中的起始位置

三、事件监听设置相关浅析

1.RadioGroup事件绑定

<span style="font-family:KaiTi_GB2312;font-size:24px;">RadioGroup rG = (RadioGroup) findViewById(R.id.radioGroup);rG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(RadioGroup group, int checkedId) {    }});</span>
2.CheckBox事件绑定

<span style="font-family:KaiTi_GB2312;font-size:24px;">CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox);CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkbox1);checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {    }});checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    @Override    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {      }});</span>

四、CheckBox绑定事件的简单办法:

从上面可以看出CheckBox必须进行多次绑定,而RadioGroup只需要绑定一次即可。

如果有多个CheckBox进行如上操作,会显得代码繁琐,故此推荐使用非匿名类写法,代码量会相对少点;对于以后类似问题,判断使用匿名类还是正规写法,需要有一个清晰的认识和了解,免得代码繁琐。

对上述CheckBox事件绑定改进代码如下:

<span style="font-family:KaiTi_GB2312;font-size:24px;">CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox);CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkbox1);</span>
<pre name="code" class="java"><span style="font-family:KaiTi_GB2312;font-size:24px;">CheckBoxCheckListener cbcListener = new CheckBoxCheckListener();        checkBox.setOnCheckedChangeListener(cbcListener);        checkBox1.setOnCheckedChangeListener(cbcListener);</span>


</pre><span style="font-family:KaiTi_GB2312;font-size:24px;"></span><pre name="code" class="java"><span style="font-family:KaiTi_GB2312;font-size:24px;">class CheckBoxCheckListener implements CompoundButton.OnCheckedChangeListener {        @Override        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {        }    }</span>




 

0 0
原创粉丝点击