Android中在TextView里面替换掉带html标签和不带标签的url,并支持点击
2017-03-23 15:00
501 查看
直接上代码
String textStr = "文字内容"
int end = textStr.length();
Spannable sp = (Spannable) Html.fromHtml(textStr);
URLSpan[] urls = sp.getSpans(0, end, URLSpan.class);
SpannableStringBuilder style = new SpannableStringBuilder(sp);
style.clearSpans();
if (urls != null && urls.length > 0) {
for (URLSpan url : urls) {
MyURLSpan myURLSpan = new MyURLSpan(url.getURL());
style.setSpan(myURLSpan, sp.getSpanStart(url), sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
} else {
Pattern pattern = Pattern.compile("(https?|codoon)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]");
Matcher matcher = pattern.matcher(textStr);
while (matcher.find()) {
int startAt = matcher.start();
int endAt = matcher.end();
MyURLSpan myURLSpan = new MyURLSpan(textStr.substring(startAt, endAt));
style.setSpan(myURLSpan, startAt, endAt, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
String textStr = "文字内容"
int end = textStr.length();
Spannable sp = (Spannable) Html.fromHtml(textStr);
URLSpan[] urls = sp.getSpans(0, end, URLSpan.class);
SpannableStringBuilder style = new SpannableStringBuilder(sp);
style.clearSpans();
if (urls != null && urls.length > 0) {
for (URLSpan url : urls) {
MyURLSpan myURLSpan = new MyURLSpan(url.getURL());
style.setSpan(myURLSpan, sp.getSpanStart(url), sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
} else {
style = new SpannableStringBuilder(textStr); style.clearSpans();
Pattern pattern = Pattern.compile("(https?|codoon)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]");
Matcher matcher = pattern.matcher(textStr);
while (matcher.find()) {
int startAt = matcher.start();
int endAt = matcher.end();
MyURLSpan myURLSpan = new MyURLSpan(textStr.substring(startAt, endAt));
style.setSpan(myURLSpan, startAt, endAt, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.replace(startAt,endAt,"链接");
}
}
相关文章推荐
- Android TextView支持的HTML标签
- Android TextView 支持的HTML标签
- Android TextView 支持的HTML标签
- Android中Textview显示Html,图文混排,支持图片点击放大
- Android中Textview显示Html,图文混排,支持图片点击放大
- Android TextView 支持的HTML标签
- android 让TextView支持的Html标签实现自定义时钟显示组件DigitalClock
- Android TextView 支持的HTML标签
- Android中为TextView增加自定义的HTML标签
- android textView加载html 解决a标签链接无效
- TextView中如何支持html标签,放置图片和动作标签
- Android中为TextView增加自定义的HTML标签
- Android TextView中展示含有html标签的文字
- android 自定义TextView支持微博功能后在ListView占用了Item点击的解决办法
- android 使用html标签在textview中显示图片
- Android 点击ListView(或GridView)的一个item,使其里面textview变色,点击另一个这个恢复原来颜色
- 使用textview显示html里面的图文混排效果,并且图片可点击索引到
- Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示
- Android中为TextView增加自定义的HTML标签
- Android控件之TextView支持html