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
相关阅读
1、主要作用 自动触发控件的点击事件2、界面的布局文件 activity_main.xml<RelativeLayout xmlns:android="http://schemas.and