TextView 的 AutoLink 属性和 onLongCl

2018-05-04  本文已影响0人  常朋_android

在 TextView 需要设置 AutoLink 的属性来标记 'phone' 、 'web' 、'email' ,但是这个时候我们要给 TextView 设置 onLongClick() 事件,这个时候就会起冲突了。

解决方法
在 onTouchEvent 里面自己处理长按事件,如果按下和抬起的时间大于 500ms 就判定为长按时间,返回 true ,屏蔽掉 AutoLink 的事件

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);
}
上一篇下一篇

猜你喜欢

热点阅读