Android中捕获TTextView文本中的链接点击事件方法
Android中的TTextView很强大,我们可以不仅可以设置纯文本为其内容,还可以设置包含网址和电子邮件地址的内容,并且使得这些点击可以点击。但是我们可以捕获并控制这些链接的点击事件么,当然是可以的。
本文将一个超级简单的例子介绍一下如何实现在AndroidTextView捕获链接的点击事件。
关键实现
实现原理就是将所有的URL设置成ClickSpan,然后在它的onClick事件中加入你想要的控制逻辑就可以了。
privatevoidsetLinkClickable(finalSpannableStringBuilderclickableHtmlBuilder,
finalURLSpanurlSpan){
intstart=clickableHtmlBuilder.getSpanStart(urlSpan);
intend=clickableHtmlBuilder.getSpanEnd(urlSpan);
intflags=clickableHtmlBuilder.getSpanFlags(urlSpan);
ClickableSpanclickableSpan=newClickableSpan(){
publicvoidonClick(Viewview){
//DosomethingwithURLhere.
}
};
clickableHtmlBuilder.setSpan(clickableSpan,start,end,flags);
}
privateCharSequencegetClickableHtml(Stringhtml){ SpannedspannedHtml=Html.fromHtml(html); SpannableStringBuilderclickableHtmlBuilder=newSpannableStringBuilder(spannedHtml); URLSpan[]urls=clickableHtmlBuilder.getSpans(0,spannedHtml.length(),URLSpan.class); for(finalURLSpanspan:urls){ setLinkClickable(clickableHtmlBuilder,span); } returnclickableHtmlBuilder; }
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下