android过滤html标签,Android中处理TextView带超链接HTML标签的点击事件处理方法
主要的處理方法:
/**
* 格式化超鏈接文本內(nèi)容并設(shè)置點擊處理
* */
private CharSequence getClickableHtml(String html) {
Spanned spannedHtml = Html.fromHtml(html);
SpannableStringBuilder clickableHtmlBuilder = new SpannableStringBuilder(spannedHtml);
URLSpan[] urls = clickableHtmlBuilder.getSpans(0, spannedHtml.length(), URLSpan.class);
for(final URLSpan span : urls) {
setLinkClickable(clickableHtmlBuilder, span);
}
return clickableHtmlBuilder;
}
/**
* 設(shè)置點擊超鏈接對應(yīng)的處理內(nèi)容
* */
private void setLinkClickable(final SpannableStringBuilder clickableHtmlBuilder,final URLSpan urlSpan) {
int start = clickableHtmlBuilder.getSpanStart(urlSpan);
int end = clickableHtmlBuilder.getSpanEnd(urlSpan);
int flags = clickableHtmlBuilder.getSpanFlags(urlSpan);
ClickableSpan clickableSpan = new ClickableSpan() {
public void onClick(View view) {
LogW.i("URL-click:"+urlSpan.getURL());
}
};
clickableHtmlBuilder.setSpan(clickableSpan, start, end, flags);
}
實際調(diào)用場景:
//一串帶超鏈接的文本內(nèi)容
String context = "這是一個測試內(nèi)容點我跳轉(zhuǎn)";
TextView textview = findviewById(R.id.textview);
textview.setText(getClickableHtml(context );
//這一句很重要,否則ClickableSpan內(nèi)的onClick方法將無法觸發(fā)!!
textview.setMovementMethod(LinkMovementMethod.getInstance());
總結(jié)
以上是生活随笔為你收集整理的android过滤html标签,Android中处理TextView带超链接HTML标签的点击事件处理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二级c语言函数调用题,2013年计算机二
- 下一篇: android 剪切板广播发送者,And