`

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
分享到:
评论

相关推荐

    TextView超链接自定义样式

    本篇将详细讲解如何在Android的`TextView`中实现超链接自定义样式,包括自定义字体颜色和去除超链接的下划线。 首先,让我们了解一下`TextView`中的`Links`。默认情况下,`TextView`会识别文本中的URL并自动将其...

    TextView超链接启动Activity,无下划线,可自定义颜色

    在许多应用中,我们可能需要将TextView中的部分文字设置为超链接,以便用户点击后可以跳转到其他Activity或网页。本教程将详细介绍如何实现一个没有下划线且可以自定义颜色的TextView超链接,并通过Intent启动新的...

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

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

    TextView上超链接可以点击.zip

    在"TextView上超链接可以点击.zip"的示例代码中,开发者可以深入学习如何结合`TextView`、`SpannableString`和`ClickableSpan`来实现自定义的超链接功能,包括文字的着色和点击事件的处理。这对于提升用户体验,尤其...

    Android自定义TextView链接点击和长按事件

    2. 当需要为TextView设置长按事件时,只需调用`setOnLongClickListener`方法: ```java CustomTextView textView = findViewById(R.id.custom_text_view); textView.setOnLongClickListener(new View....

    Android使用内置WebView打开TextView超链接的实现方法

    在Android开发中,有时我们需要在应用内部处理TextView中的超链接,而不是让它们默认跳转到外部浏览器。本文将详细介绍如何使用内置的WebView组件来实现这一功能。首先,我们需要理解两个关键概念:`WebView`和`...

    Android如何通过TextView实现超链接的跳转

    当需要在TextView中嵌入超链接并实现点击跳转时,开发者通常会利用Android的`TextView`特性和`Linkify`类来完成这一功能。下面我们将详细介绍如何通过TextView实现超链接的跳转,并结合提供的`HyperLinkDemo`示例...

    TextView实现超链接的四种方式

    在许多应用中,我们可能需要在TextView中展示带有超链接的文本,比如显示帮助文档、显示网页链接或者电子邮件等。本篇文章将详细探讨如何在TextView中实现超链接的四种方法。 ### 1. 使用`android:autoLink` 第一...

    Android开发实现TextView超链接5种方式源码实例

    Android实现TextView超链接一共有五种方式:推荐第四种、第五种 1. 直接在xml文件中配置autoLink属性(简单易用,效果单一) autoLink属性一共有六个值,分别是none(正常),web(将文本识别为一个网址),phone...

    TextView加超链接

    总之,添加超链接到`UITextView`涉及创建`NSAttributedString`,设置`NSLinkAttributeName`属性,以及实现`UITextViewDelegate`来监听点击事件。通过第三方库如`TapLabel`,我们可以简化这一过程,提高代码的可读性...

    textview网页链接

    当涉及到在TextView中嵌入可点击的网页链接时,开发者需要了解如何在文本中设置超链接,并且处理用户的点击事件,以便用户能够方便地打开网页。下面将详细探讨这个知识点。 首先,TextView支持HTML格式的文本,这...

    安卓textView相关-TextView的超链接字和不同色彩效果.rar

    本资源包"安卓textView相关-TextView的超链接字和不同色彩效果.rar"包含了一些关于如何在`TextView`中实现这些特性的示例和文档。 1. **超链接字**:在`TextView`中,我们可以通过`setMovementMethod()`方法和`...

    TextView中文字超链接,点击启动另一个Activity 源码

    有时候,我们希望在TextView中展示的文本包含超链接,当用户点击这些超链接时,能够启动一个新的Activity来执行特定的操作。本篇将详细介绍如何实现TextView中的文字超链接,并在点击后启动另一个Activity的源码解析...

    在TextView中添加超链接

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,它在用户界面设计中扮演着重要角色。当需要在TextView中插入可点击的超链接时,有多种方法可以实现这一功能。以下是对这些方法的详细介绍: 1. **...

    Android TextView中文字设置超链接、颜色、字体

    当我们在TextView的文本中插入URL时,可以使用`android:autoLink="web"`属性,让系统自动识别并转换为可点击的超链接。但这种方法可能无法满足所有需求,例如自定义链接样式。此时,我们可以使用`SpannableString`和...

Global site tag (gtag.js) - Google Analytics