Dan_ry
Dan_ry
采纳率33.3%
2015-01-28 04:15

TextView怎么设置多个监听?

已采纳
想要实现一个功能,将一个TextView中的内容读出来,并且对里边的数字添加链接,点击数字可以弹出对话框询问是要发短信还是打电话,目前这一部分已经实现了,但是发现一个问题,就是点击TextView处链接以外的其它区域没有响应了,原本是要跳转到下一个界面的。
请教大神,怎么能给TextView设置多个监听?一个负责监听链接点击事件,另一个监听TextView中除链接之外的其它区域?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • danielinbiti danielinbiti 6年前

    试了一下下面这段代码,同时都能生效,响应没问题。不冲突

     private void initTextView(){
            SpannableString ss = new SpannableString("text4: Click here to dial the phone.");  
            ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
            ss.setSpan(new URLSpan("tel:4158561312"), 13, 17,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
    
            TextView t4 = (TextView) findViewById(R.id.tvt_span);  
            t4.setText(ss);  
            t4.setMovementMethod(LinkMovementMethod.getInstance());  
            t4.setOnTouchListener(new View.OnTouchListener() {          
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    // TODO Auto-generated method stub
                    System.out.println("OnTouchListener");
                    return false;
                }
            });
        }
    
    点赞 1 评论 复制链接分享
  • oSanYeCao1234567 RoidCoder 5年前

    设置TextView的
    tv.setMovementMethod(LinkMovementMethod.getInstance());

    tv.setOnTouchListener

    点赞 评论 复制链接分享
  • danielinbiti danielinbiti 6年前

    把textview中的内容设置成Spannable的方式进行。

    点赞 评论 复制链接分享
  • bdmh bdmh 6年前

    设置textview的

    setMovementMethod(LinkMovementMethod.getInstance());

    点赞 评论 复制链接分享

相关推荐