【Android】onLongClick for TextView fires link inside textview(摘自stackoverflow)

In my app I have textViews with links inside. I need to separate normal click which will open web link and longClick which will open context menu. But whenever I make longClick, when I release my finger it fires web link, which opens browser.

TextView textView = new TextView(context);
textView.setAutoLinkMask(Linkify.WEB_URLS);
textView.setText(some text with web links);
textView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
Log.d("RAFL", "longclick works");
return true;
}
});

textview.setOnLongClickListener(new View.OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        isLongClick= true;
        return true;
    }
});
textview.setOnTouchListener(new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_UP && isLongClick){
            isLongClick= false;
            return true;
        }
        if(event.getAction() == MotionEvent.ACTION_DOWN){
            isLongClick= false;
        }
        return v.onTouchEvent(event);
    }

});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容