在 TextView 需要设置 AutoLink 的属性来标记 'phone' 、 'web' 、'email' ,但是这个时候我们要给 TextView 设置 onLongClick() 事件,这个时候就会起冲突了。
解决方法
在 onTouchEvent 里面自己处理长按事件,如果按下和抬起的时间大于 500ms 就判定为长按时间,返回 true ,屏蔽掉 AutoLink 的事件
(不知道 Android 的长按事件是多少 ms ,就给了 500 ms,测试了一下感觉还可以。如果有谁知道 Android 的长按事件的时间,望告知,谢谢。)
long time;
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
time = System.currentTimeMillis();
} else if (event.getAction() == MotionEvent.ACTION_UP)
if (System.currentTimeMillis() - time > 500)
return true;
return super.onTouchEvent(event);
}
网友评论