问题描述
- TextView怎么设置多个监听?
-
想要实现一个功能,将一个TextView中的内容读出来,并且对里边的数字添加链接,点击数字可以弹出对话框询问是要发短信还是打电话,目前这一部分已经实现了,但是发现一个问题,就是点击TextView处链接以外的其它区域没有响应了,原本是要跳转到下一个界面的。 请教大神,怎么能给TextView设置多个监听?一个负责监听链接点击事件,另一个监听TextView中除链接之外的其它区域?
解决方案
试了一下下面这段代码,同时都能生效,响应没问题。不冲突
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;
}
});
}
解决方案二:
设置textview的
setMovementMethod(LinkMovementMethod.getInstance());
解决方案三:
把textview中的内容设置成Spannable的方式进行。
时间: 2024-09-08 12:33:58