美文网首页日常 bug
TextView 的 AutoLink 属性和 onLongCl

TextView 的 AutoLink 属性和 onLongCl

作者: hunter886 | 来源:发表于2017-01-03 18:15 被阅读189次

    在 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);
        }
    

    相关文章

      网友评论

        本文标题:TextView 的 AutoLink 属性和 onLongCl

        本文链接:https://www.haomeiwen.com/subject/senjvttx.html