android oncli超链接,android – ClickableSpan的onClick()不适用于URLSpan?

在TextView中,每当单击超链接时,我想弹出一个吐司,而不是在浏览器中打开相应的url.我使用以下代码,但这里的问题是onClick()方法似乎永远不会被调用!!

String source = "link ";

// Get SpannableStringBuilder object from HTML code

CharSequence sequence = Html.fromHtml(source, imgGetter, null);

SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);

// Get an array of URLSpan from SpannableStringBuilder object

URLSpan[] urlSpans = strBuilder.getSpans(0, strBuilder.length(), URLSpan.class);

// Add onClick listener for each of URLSpan object

for (final URLSpan span : urlSpans) {

int start = strBuilder.getSpanStart(span);

int end = strBuilder.getSpanEnd(span);

strBuilder.setSpan(new ClickableSpan()

{

@Override

public void onClick(View widget) {

Toast toast = Toast.makeText(context, "well done! you click " + span.getURL(), Toast.LENGTH_SHORT);

toast.show();

}

}, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

}

TextView t4 = (TextView) findViewById(R.id.text4);

t4.setText(strBuilder);

// No action if this is not set

t4.setMovementMethod(LinkMovementMethod.getInstance());

任何人都可以告诉我我的代码有什么问题,如何解决?谢谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值