只想实现像微信那样识别url,去除下划线,网上满篇的都是setUnderlineText(false),其实毫无作用,以下是网上普遍的解决办法,但是下划线依然没有去掉,请问各位有可行解决办法吗
已经解决了,添加一句就好了
@Override
public void initComponents() {
TextView textView = ((TextView) findViewById(R.id.summary));
textView.setText(R.string.about_text);
stripUnderlines(textView);
}
private class URLSpanNoUnderline extends URLSpan {
public URLSpanNoUnderline(String url) {
super(url);
}
@Override public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}
private void stripUnderlines(TextView textView) {
if(null!=textView&&textView.getText() instanceof Spannable){
Spannable s = (Spannable)textView.getText();
URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
for (URLSpan span: spans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
s.removeSpan(span);
span = new URLSpanNoUnderline(span.getURL());
s.setSpan(span, start, end, 0);
}
setAutoLinkMask(0);//已经解决,添加这一句就好了
textView.setText(s);
}
}
setAutoLinkMask(0);//已经解决,添加这一句就好了