Dan_ry 2015-01-28 04:15 采纳率: 33.3%
浏览 3037
已采纳

TextView怎么设置多个监听?

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

4条回答 默认 最新

  • danielinbiti 2015-01-28 09:14
    关注

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

     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;
                }
            });
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵