如何在TextView中的部分文字上响应点击事件

 我来答
志当存高远389
2015-05-26 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11237 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
您好,很高兴为您解答。

package com.TextHtml; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.text.style.URLSpan; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class TextHtml extends Activity { /* * Called when the activity is first created. */ private TextView tv; static Context ctx = null ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ctx = this ; tv = (TextView) findViewById(R.id.tv); String htmlLinkText= " <a href=\\" +"<a href="www.baidu.com/><u">www.baidu.com/><u</a>>我的CSDN博客 </u></a>"; tv.setText(Html.fromHtml(htmlLinkText)); tv.setMovementMethod(LinkMovementMethod.getInstance()); CharSequence text = tv.getText(); if (text instanceof Spannable){ int end = text.length(); Spannable sp = (Spannable)tv.getText(); URLSpan[] urls = sp.getSpans( 0 , end, URLSpan. class ); SpannableStringBuilder style = new SpannableStringBuilder(text); style.clearSpans(); // should clear old spans for (URLSpan url : urls){ MyURLSpan myURLSpan = new MyURLSpan(url.getURL()); style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } tv.setText(style); } } private static class MyURLSpan extends ClickableSpan{ private String mUrl; MyURLSpan(String url) { mUrl = url; } @Override public void onClick(View widget) { // TODO Auto-generated method stub Toast.makeText(ctx, " hello! " ,Toast.LENGTH_LONG).show(); } } }
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式