Android中的CheckBox

        Android中提供了一个多选组件CheckBox,实现多选操作,因为可以多选,所以他区别于RadioButton没有了组的概念,要监听用户操作的话需要对每一个CheckBox监听。Android developers里的描述为:public class CheckBox extends CompoundButton,在CompoundButton里有监听方法:

void setOnCheckedChangeListener( CompoundButton.OnCheckedChangeListener listener)
Register a callback to be invoked when the checked state of this button changes.

因此可通过覆写CompoundButton类中的setOnCheckedChangeListener()方法来实现对CheckBox的监听

      《Google Android 应用开发全程实录》(裴佳迪等著)第78页对CheckBox的监听操作为check_button.setOnCheckedChangeListener(new OnCheckChangedListener(){}),这样编译器会一直报错,“OnCheckedChangeListener(){} must implement the inherited abstract method RadioGroup",因为OnCheckedChangeListener()方法是用来监听RaioGroup的。正确的监听操作应为:check_button.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {})。或者也可使用check_button.setOnClickListener(new OnClickListener() {});来监听。代码如下:

    	final CheckBox check_button = (CheckBox)findViewById(R.id.checkBox);
    	check_button.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    		public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    			// TODO Auto-generated method stub
    			TextView tv = (TextView)findViewById(R.id.text);
    			tv.setText(check_button.isChecked() ? "This option is checked" : "This option is not checked");
    		}
    	});

或者

    	check_button.setOnClickListener(new OnClickListener() {
		
	    		public void onClick(View v) {
	    			// TODO Auto-generated method stub
	    			TextView tv = (TextView)findViewById(R.id.text);
	    			tv.setText(check_button.isChecked() ? "This option is checked" : "This option is not checked");
	    		}
			});


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值