performClick

 

performclick

performclick()方法 是使用代码主动去调用控件点击事件(模拟人手去触摸控件)

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://blog.sina.com.cn/s/blog_70ae1d7b0102v7uk.html

相关阅读

view.performClick()触发点击事件

1、主要作用 自动触发控件的点击事件2、界面的布局文件  activity_main.xml 分类 jishu 标签

发表评论