RadioButton和CheckBox

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值