/**
* 识别TextView中的Url点击事件
*
*
@param textView 需要处理的TextView
*/
public static void handleTextUrlContent(TulipTextView textView) {
CharSequence text = textView.getText();
if (text instanceof Spannable) {
Spannable sp = (Spannable) textView.getText();
URLSpan[] urls = sp.getSpans(0, sp.length(), URLSpan.class);
SpannableStringBuilder spannable = new SpannableStringBuilder(text);
if (urls.length > 0) {
//循环把链接发过去
for (URLSpan urlSpan : urls) {
String uriString = urlSpan.getURL();
TulipUrlSpan myURLSpan = new TulipUrlSpan(uriString);
int start = sp.getSpanStart(urlSpan);
int end = sp.getSpanEnd(urlSpan);
spannable.removeSpan(urlSpan);
spannable.setSpan(myURLSpan, start, end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}
} else {
Matcher m = urler.matcher(text);
while (m.find()) {
int start = m.start();
int end = m.end();
TulipUrlSpan myURLSpan = new TulipUrlSpan(url);
spannable.setSpan(myURLSpan, start, end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}
}
textView.isChangedBySelf = true;
textView.setText(spannable);
textView.isChangedBySelf = false;
}
}