Android中的TTextView很強大,我們可以不僅可以設置純文本為其內容,還可以設置包含網址和電子郵件地址的內容,并且使得這些點擊可以點擊。但是我們可以捕獲并控制這些鏈接的點擊事件么,當然是可以的。
本文將一個超級簡單的例子介紹一下如何實現在Android TextView 捕獲鏈接的點擊事件。
關鍵實現
實現原理就是將所有的URL設置成ClickSpan,然后在它的onClick事件中加入你想要的控制邏輯就可以了。
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;
}
如何使用
實現自己的控制
我們需要在ClickSpan的onClick方法中加入自己的控制邏輯,比如我們使用傲游瀏覽器打開點擊的鏈接。
提醒
不要忘了設置TextView的autoLink屬性。
|
新聞熱點
疑難解答
圖片精選