`

TextView 超链接事件捕获

阅读更多
TextView tv = (TextView) findViewById(R.id.txtView);

ctx = this;

String htmlLinkText = "";

htmlLinkText = "<a style=\"color:red;\" href=\""+strUrl+"\">三孔游</a>";
		// 文字的样式(style)被覆盖,不能改变……

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_INCLUSIVE);
			}
			tv.setText(style);
		}

private static class MyURLSpan extends ClickableSpan {

		private String mUrl;

		MyURLSpan(String url) {
			mUrl = url;
		}

		@Override
		public void onClick(View widget) {
			Toast.makeText(ctx, mUrl, Toast.LENGTH_LONG).show();
			widget.setBackgroundColor(Color.parseColor("#00000000"));
		}
	}


转自 http://hi.baidu.com/%CD%F5%D5%F1%C1%D6wzl/blog/item/c0ef56b7739cfcb7d8335aef.html
分享到:
评论

相关推荐

    Android实现捕获TextView超链接的方法

    本文实例讲述了Android实现捕获TextView超链接的方法。分享给大家供大家参考,具体如下: 这里分享一篇捕获TextView超链接的文章,希望对大家有所帮助,我终于在歪路上回归正途了。这个捕获TextView超链接应该算是...

    点击listview实现超链接

    同时,对于超链接的点击事件,我们可以通过`setMovementMethod(LinkMovementMethod.getInstance())`方法使TextView支持链接点击,然后设置`OnClickListener`来捕获点击事件并执行相应的操作,例如打开浏览器跳转到...

    Android TextView显示Html类解析的网页和图片及自定义标签用法示例

    为了让超链接可点击,需要设置`MovementMethod`为`LinkMovementMethod`: ```java mTVText.setMovementMethod(LinkMovementMethod.getInstance()); ``` 2. **处理自定义标签**: 当HTML字符串包含Android默认...

    Android中捕获TTextView文本中的链接点击事件方法

    在Android开发中,处理TextView中的链接点击事件是一项常见的需求,特别是当TextView显示包含超链接的文本时。Android的TTextView组件支持显示HTML格式的文本,并且可以自动识别并使URL可点击。然而,如果希望对这些...

    label中链接匹配,点击效果及跳转实现oc

    在iOS开发中,`UILabel` 是我们常用的用来展示文本的控件,但有时我们需要实现一些高级功能,如点击文本中的某个部分(比如链接)并触发特定的事件,这时`UILabel` 的原生功能就显得有些局限。为了实现这样的效果,...

    Android-AndroidRichText富文本解析器支持网络图片图片和链接点击事件

    开发者可以通过注册监听器来捕获这些点击事件,然后执行打开网页、跳转页面等操作。同样,对于图片,开发者可能也需要添加点击事件,比如查看大图或者进行其他交互。 此外,这个项目可能还包括自定义渲染逻辑,以便...

    LinkifyCustom

    在Android开发中,`Linkify`是一个非常实用的工具类,它可以帮助我们将字符串中的特定模式自动转换为可点击的超链接。例如,`Linkify`默认可以识别并处理电话号码、网址以及电子邮件地址,使它们在TextView中显示...

Global site tag (gtag.js) - Google Analytics