CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
来源:互联网 发布:99乘法表java代码解析 编辑:程序博客网 时间:2024/06/06 01:31
看到CheckBox这一章的内容,发现监听CheckBox的事件有很多,OnCheckedChangeListener、OnClickListener、OnTouchListener。
于是写代码为了测试他们的区别。
- 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{
- }
- }
- });
- }
- }
首先模拟器状态为,
点击我同意以后,打印的内容为
说明OnTouchListener是在CheckBox点击之前获得的内容,然后执行点击CheckBox之后的内容,执行OnCheckedChangeListener,再是OnClickListener。
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- CheckBox OnTouchListener、OnCheckedChangeListener和OnClickListener区别
- Android(5)多选按钮CheckBox、OnClickListener、OnCheckedChangeListener
- CheckBox的OnCheckedChangeListener的调用
- CheckBox控件的 OnCheckedChangeListener方法
- ListView的OnTouchListener和OnClickListener的研究
- onTouchListener和onClickListener的冲突问题
- 浅谈OnTouchListener,OnClickListener和OnLongClickListener的关系
- ontouchEvent,ontouchListener,onclickListener的执行顺序
- radiobutton 的OnClickListener和OnCheckedChangeListener的响应事件分析
- 避免checkBox 的setCheced() 触发 onCheckedChangeListener()
- Android CheckBox的OnCheckedChangeListener监听传值
- OnTouchListener、OnClickListener、OnLongClickListener
- OnTouchListener和OnClickListener
- 论onclicklistener、ontouchlistener、ontouchevent
- OnTouchListener会覆盖OnClickListener
- AS3.0碰撞检测 hitTestObject 与 hitTestPoint
- Xcode 4.4.1吐槽:开发者迎来久违的增量更新
- 【树形DP】 hdu4340 Capturing a country
- Makefile 目标 双冒号
- C#tostring格式大全
- CheckBox的OnCheckedChangeListener、OnClickListener、OnTouchListener
- android调用系统程序
- 对话框(2)图说例子(经典)
- BUNDLE
- 通过栅格类型扩展使ArcGIS 支持更多传感器类型
- OpenGL ES 三种类型修饰 uniform attribute varying
- MSM--Memcached_Session_Manager实现session共享
- PowerDesigner入门教程:创建模型及实体
- Windows Server 2008 R2搭建域环境中遇到的一个小错误的解决办法