Android 事件分发 OnClickListener 和 OnTouchListener 的事件处理原理简单描述

本文是关于Android控件事件处理的总结,重点分析了OnClickListener和OnTouchListener的事件执行逻辑。实验以Button为例,发现当OnTouchListener的onTouch返回true时,onClick不会执行;返回false时,onClick会在onTouchEvent后被调用。理解这一机制有助于优化Android应用的交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:下文是在看过这篇文章 http://blog.youkuaiyun.com/guolin_blog/article/details/9097463 的一个总结,所以有需要做进一步了解者,可以直接去看一下

在这次的实验练习中,我们只采用了一个 Button 的事件来做分析

1.先给Button添加相应的事件:

private Button testBtn;
testBtn = (Button)findViewById(R.id.testBtn);
		testBtn.setOnClickListener(new MyClickListener());
		testBtn.setOnTouchListener(new MyTouchListener());

	class MyTouchListener implements OnTouchListener {

		@Override
		public boolean onTouch(View v, MotionEvent event) {
			Log.d("event dispatch", "onTouch : "+event.getAction());
			return true;
		}
		
	}
	
	class MyClickListener implements OnClickListener {

		@Override
		public void onClick(View arg0) {
			Log.d("event dispatch", "onClick");
		}
		
	}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值