CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener

来源:互联网 发布:99乘法表java代码解析 编辑:程序博客网 时间:2024/06/06 01:31

看到CheckBox这一章的内容,发现监听CheckBox的事件有很多,OnCheckedChangeListener、OnClickListener、OnTouchListener。

于是写代码为了测试他们的区别。

 

  1. package com.xc.ex04_04;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.MotionEvent;  
  6. import android.view.View;  
  7. import android.widget.Button;  
  8. import android.widget.CheckBox;  
  9. import android.widget.CompoundButton;  
  10. import android.widget.TextView;  
  11.  
  12. public class EX04_04 extends Activity {  
  13.     public TextView tv1;  
  14.     public TextView tv2;  
  15.     public CheckBox cb;  
  16.     public Button b;  
  17.     /** Called when the activity is first created. */ 
  18.     @Override 
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.main);  
  22.         tv1 = (TextView)findViewById(R.id.tv1);  
  23.         tv2 = (TextView)findViewById(R.id.tv2);  
  24.         cb = (CheckBox)findViewById(R.id.cb);  
  25.         b = (Button)findViewById(R.id.b);  
  26.           
  27.         cb.setChecked(false);  
  28.         b.setEnabled(false);  
  29.         cb.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() {  
  30.               
  31.             @Override 
  32.             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {  
  33.                 // TODO Auto-generated method stub  
  34.                 if(cb.isChecked()){  
  35.                     b.setEnabled(true);  
  36.                     tv2.setText("");  
  37.                     System.out.println(33);  
  38.                 }  
  39.                 else{  
  40.                     b.setEnabled(false);  
  41.                     tv1.setText("");  
  42.                     tv2.setText("");  
  43.                     System.out.println(44);  
  44.                 }  
  45.             }  
  46.         });  
  47.         cb.setOnClickListener(new CheckBox.OnClickListener() {  
  48.               
  49.             @Override 
  50.             public void onClick(View v) {  
  51.                 // TODO Auto-generated method stub  
  52.                 if(cb.isChecked()){  
  53.                     b.setEnabled(true);  
  54.                     tv2.setText("");  
  55.                     System.out.println(11);  
  56.                 }  
  57.                 else{  
  58.                     b.setEnabled(false);  
  59.                     tv1.setText("");  
  60.                     tv2.setText("");  
  61.                     System.out.println(22);  
  62.                 }  
  63.             }  
  64.         });  
  65.         cb.setOnTouchListener(new CheckBox.OnTouchListener() {  
  66.               
  67.             @Override 
  68.             public boolean onTouch(View v, MotionEvent event) {  
  69.                 // TODO Auto-generated method stub  
  70.                 if(cb.isChecked()){  
  71.                     System.out.println(55);  
  72.                 }  
  73.                 else{  
  74.                     System.out.println(66);  
  75.                 }  
  76.                 return false;  
  77.             }  
  78.         });  
  79.           
  80.         b.setOnClickListener(new Button.OnClickListener() {  
  81.               
  82.             @Override 
  83.             public void onClick(View v) {  
  84.                 // TODO Auto-generated method stub  
  85.                 if(cb.isChecked()){  
  86.                     tv1.setText("你已经同意了");  
  87.                 }  
  88.                 else{  
  89.                   
  90.                 }  
  91.             }  
  92.         });  
  93.     }  

首先模拟器状态为,

点击我同意以后,打印的内容为

说明OnTouchListener是在CheckBox点击之前获得的内容,然后执行点击CheckBox之后的内容,执行OnCheckedChangeListener,再是OnClickListener。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 如果朝鲜和韩国打起来中国怎么办 寄信时不知道对方的邮编怎么办 地下钱庄转账后银行户被冻结怎么办 老师遇到素质极差的垃圾学生怎么办 验证码忘了手机号也换了怎么办 手机上的验证码忘了怎么办 进入医联网的验证码忘了怎么办 育碧换电脑了无法同步云存档怎么办 刺客信条起源育碧需要激活码怎么办 电脑连不上网怎么办wifi可以用 电脑登录账号密码错误锁定了怎么办 白色T恤衫上沾上黑色的黄油怎么办 家教遇到成绩好的学生该怎么办 跟越南人离婚孩子中国户口9怎么办 老婆是个越南人至今没户口怎么办 等离子屏z板链接处排线打火怎么办 等离子自动调焊的成形不好怎么办 村里内村道路中间被抢占了怎么办 华为换电池之后卡没反应怎么办 汽车钥匙换电池后没反应怎么办 汽车解锁换电池后没反应怎么办 包裹显示待收件人向海关申报怎么办 在越南签证被公安扣了怎么办 酷派手机收不到验证码怎么办 苹果想把图片上的字盖上怎么办 婴儿自己把眼珠子抠红了怎么办 如果美陆战队员进入台湾那怎么办? 顺产生完小孩吸不通奶怎么办 耐克空军一号白色底发黄怎么办 中行网银u盾丢了怎么办 有人用你的手机号码不停注册怎么办 获得公开你微信头像的权限是怎么办 手机能进的网站电脑进不去怎么办 苹果8p下不了微信怎么办 苹果手机版本过底不能下微信怎么办 手机打开视频跳转到qq是怎么办 淘宝店铺显示服务竟然出错了怎么办 母羊下完羊羔把羊衣吃了怎么办? 移植后56天有黑色东西怎么办 我家的金丝熊浑身都是尿怎么办 一键启动车钥匙丢了怎么办