博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android:View中的performClick()触发条件
阅读量:6488 次
发布时间:2019-06-24

本文共 759 字,大约阅读时间需要 2 分钟。

http://blog.sina.com.cn/s/blog_70ae1d7b0102v7uk.html

先看看performClick()源码:
 
public 
boolean 
performClick() {
        
sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
 
        
if 
(mOnClickListener != 
null
) {
            
playSoundEffect(SoundEffectConstants.CLICK);
            
mOnClickListener.onClick(
this
);
            
return 
true
;
        
}
 
        
return 
false
;
    
}

由源码可以看出,只要是使用了view.setOnClickListener()方法设置监听器,就会自动触发view.performClick()。

需要注意的是,如果同时使用了view.setOnTouchListener()方法,则有可能存在拦截view.performClick()的响应事件,因为当view.OnTouchEvent()在
event.getAction() == MotionEvent.ACTION_DOWN时返回false,系统会认为view不需要处理Touch事件,则后续的Touch事件(move、up、click)就不会被传进来,所以也不会触发view.performClick(),而view.setOnTouchListener()相当于是重写了view.OnTouchEvent(),所以在写view的TouchListener处理时,需要留意view是否存在点击事件监听,如果有,则在适当的位置使用view.performClick()触发点击事件。

转载地址:http://jaauo.baihongyu.com/

你可能感兴趣的文章
MVC1.0升级到MVC2.0转换器
查看>>
max3232
查看>>
中文分词技术在电子病历系统中的作用与意义
查看>>
东风601袖珍收音机
查看>>
显示隐藏的断开连接的邮箱
查看>>
2014年国外云使用情况报告
查看>>
Spark初探
查看>>
每天学一点Scala之Array
查看>>
将以上文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写。
查看>>
setcronjob提供免费的定时计划任务服务
查看>>
JAVA和tomcat 环境的配置
查看>>
关于IBM的硬盘重建的一点知识
查看>>
IIS7上传文件大小限制解决办法
查看>>
Windows7与Window2008 64位IIS7上面DCOM配置Excel、Word
查看>>
假设所有电器都开源
查看>>
我的友情链接
查看>>
Oracle查询用户信息相关指令
查看>>
命令方式升级ESXi主机补丁包
查看>>
wget 下载jdk
查看>>
详细介绍思科的VTY
查看>>