CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
2012-05-22 08:53
363 查看
看到CheckBox这一章的内容,发现监听CheckBox的事件有很多,OnCheckedChangeListener、OnClickListener、OnTouchListener。
于是写代码为了测试他们的区别。
首先模拟器状态为,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/83217a03711fcfcd6338b61771abbf35.png)
点击我同意以后,打印的内容为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/2d123bc0bce2637996480e63133ee303.png)
说明OnTouchListener是在CheckBox点击之前获得的内容,然后执行点击CheckBox之后的内容,执行OnCheckedChangeListener,再是OnClickListener。
于是写代码为了测试他们的区别。
package com.xc.ex04_04; import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.TextView; public class EX04_04 extends Activity { public TextView tv1; public TextView tv2; public CheckBox cb; public Button b; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv1 = (TextView)findViewById(R.id.tv1); tv2 = (TextView)findViewById(R.id.tv2); cb = (CheckBox)findViewById(R.id.cb); b = (Button)findViewById(R.id.b); cb.setChecked(false); b.setEnabled(false); cb.setOnCheckedChangeListener(new CheckBox.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub if(cb.isChecked()){ b.setEnabled(true); tv2.setText(""); System.out.println(33); } else{ b.setEnabled(false); tv1.setText(""); tv2.setText(""); System.out.println(44); } } }); cb.setOnClickListener(new CheckBox.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if(cb.isChecked()){ b.setEnabled(true); tv2.setText(""); System.out.println(11); } else{ b.setEnabled(false); tv1.setText(""); tv2.setText(""); System.out.println(22); } } }); cb.setOnTouchListener(new CheckBox.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub if(cb.isChecked()){ System.out.println(55); } else{ System.out.println(66); } return false; } }); b.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if(cb.isChecked()){ tv1.setText("你已经同意了"); } else{ } } }); } }
首先模拟器状态为,
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/83217a03711fcfcd6338b61771abbf35.png)
点击我同意以后,打印的内容为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201909/10/2d123bc0bce2637996480e63133ee303.png)
说明OnTouchListener是在CheckBox点击之前获得的内容,然后执行点击CheckBox之后的内容,执行OnCheckedChangeListener,再是OnClickListener。
相关文章推荐
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- Android(5)多选按钮CheckBox、OnClickListener、OnCheckedChangeListener
- CheckBox OnTouchListener、OnCheckedChangeListener和OnClickListener区别
- CompoundButton(checkbox,switch,ToggleButton)和RadioGroup OnCheckedChangeListener() 引用冲突问题
- CheckBox控件的 OnCheckedChangeListener方法
- CheckBox的OnCheckedChangeListener的调用
- (转)Android 中 CheckBox 的 setOnClickListener 和 setOnCheckedChangeListener 的不同之处在哪?
- Android CheckBox的OnCheckedChangeListener监听传值
- Android开发中CheckBox的setOnClickListener和setOnCheckedChangeListener的不同之处在哪?
- 单选按钮RadioGroup、复选框CheckBox的OnCheckedChangeListener事件的实现方法
- Android开发中CheckBox、setOnClickListener和setOnCheckedChangeListener的不同之处在哪
- 避免checkBox 的setCheced() 触发 onCheckedChangeListener()
- Android开发中CheckBox的setOnClickListener和setOnCheckedChangeListener的不同之处在哪?
- EasyDemo*事件监听之CheckBox~onCheckedChangeListener(on Github)
- 你真的会用OnTouchListener、OnClickListener、OnLongClickListener监听事件么?
- Expandablelistview与CheckBox+setOnCheckedChangeListener有坑
- 你真的会用OnTouchListener、OnClickListener、OnLongClickListener监听事件么?
- 从零开始学android:Android事件处理—单选钮与OnCheckedChangeListener