`

Android之TextView------LINK的点击事件

阅读更多
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=\\" +"http://www.baidu.com/><u>我的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();
        }   
    }
} 

 

分享到:
评论

相关推荐

    Android-TextView-LinkBuilder-master.zip

    本项目“Android-TextView-LinkBuilder-master”聚焦于在TextView中创建可点击的链接,这对于实现诸如展示帮助文档、嵌入网址或者用户协议等具有交互性文本的场景非常实用。下面我们将深入探讨这一主题。 首先,...

    Android的TextView使用Html来处理图片显示、字体样式、超链接等

    一、[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html import android.text.Html; TextView t3 = (TextView) findViewById(R.id.text3); t3.setText( ...

    Android代码-可点击链接的TextView

    Android TextView-LinkBuilder Insanely easy way to create clickable links within a TextView. While creating Talon for Twitter, one of the most difficult things I encountered was creating these ...

    Android代码-Better-Link-Movement-Method

    When android:autoLink="all" or Linkify.addLinks(textView, Linkify.ALL) is used to add links to web URLs, phone-numbers, map addresses or email addresses in a TextView, Android uses a class known as ...

    Android应用:TextView超级链接的2种实现方法

    在Android开发中,TextView是用于显示文本的基本组件。在许多情况下,我们可能需要在TextView中嵌入可点击的超级链接,比如展示帮助文档或者跳转到网页。本篇将详细介绍两种实现TextView超链接的方法:XML文件实现和...

    Better-Link-Movement-Method:尝试改善在TextView中检测,突出显示和处理可点击链接的方式

    当使用android:autoLink或Linkify.addLinks将链接添加到TextView时,Android使用称为LinkMovementMethod的类来突出显示焦点时的链接,并在单击它们时分派Intent。 BetterLinkMovementMethod改善了...

    给textview加链接---Linkify用法

    在Android开发中,TextView是用于显示文本的基本组件。然而,我们常常希望在TextView中的某些文本具有超链接功能,用户点击后能够跳转到网页或执行其他操作。这就是Linkify的作用,它能帮助我们将普通文本转化为可...

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

    在Android开发中,`TextView`是用于显示单行或多行文本的基本组件。它不仅可以展示纯文本,还可以实现一些高级功能,如设置超链接、不同颜色的文本效果等。本资源包"安卓textView相关-TextView的超链接字和不同色彩...

    Android中使用TextView、EditText完成的新闻详情浏览的代码清单.pdf

    最后,通过调用`setMovementMethod`并传入`LinkMovementMethod.getInstance()`,使得当用户点击TextView中的链接时,系统能够处理链接的点击事件并打开网页。 接下来是布局文件`activity_main.xml`的部分代码: ``...

    Android-TextLink:在TextView中创建可点击链接的简便方法

    `Android-TextLink`是一个方便的库,它简化了在TextView中创建可点击链接的过程。本文将详细介绍如何使用这个库以及相关的Java知识。 首先,`Android-TextLink`通过避免使用SpannableString和ClickableSpan的复杂...

    textview 展开收起效果

    在Android开发中,TextView是用于显示单行或多行文本的常用组件。然而,在处理大量文本时,如果直接显示所有内容可能会占据过多的屏幕空间,影响用户体验。为了解决这个问题,我们可以实现TextView的展开和收起效果...

    TextView实现超链接的四种方式

    在Android开发中,TextView是用于显示文本的基本组件。在许多应用中,我们可能需要在TextView中展示带有超链接的文本,比如显示帮助文档、显示网页链接或者电子邮件等。本篇文章将详细探讨如何在TextView中实现...

    Android TextView添加超链接的方法示例

    在Android开发中,TextView是用于显示文本的基本组件。在某些情况下,我们可能希望在TextView中添加超链接,以便用户能够点击这些链接进行交互,比如访问网页、拨打电话或发送电子邮件等。以下是如何在Android的...

    在TextView中添加超链接

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

    Android使用TextView实现无下划线超链接的方法

    `ClickableSpan`是Android提供的一种可点击文本的Span类型,用于处理点击事件。下面是一个名为`NoLineClickSpan`的示例: ```java private class NoLineClickSpan extends ClickableSpan { String text; public ...

    Android TextView实现带链接文字事件监听的三种常用方式示例

    Android TextView是一个非常常用的控件,经常需要实现带链接文字事件监听的功能,例如点击某个链接跳转到另外一个页面或打开某个应用程序等。下面将介绍Android TextView实现带链接文字事件监听的三种常用方式。 ...

    LinkTextView:一个 Android TextView 添加高度可定制的彩色链接

    链接文本视图LinkTextView 是一个 Android TextView,用于添加高度可定制的彩色链接。特征易于添加链接和附加数据。 设置链接正常颜色和按下颜色。 设置背景正常颜色和按下颜色。样本有关此库的常见用法,请参阅 。...

    Android中使用TextView、EditText完成的新闻详情浏览教学案例的要求说明.pdf

    在Android应用开发中,TextView和EditText是两个非常基础且重要的组件。它们被广泛用于展示文本信息和接收用户输入。在这个教学案例中,我们将探讨如何利用这两个组件来创建一个新闻详情浏览的应用程序。 首先,...

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

    在这个例子中,JavaScript可以在链接点击事件中调用`window.android.openLink(url)`,这样链接就会在`WebView`内部打开。 总结起来,Android中处理TextView超链接的方法主要有以下几种: 1. 使用`...

    Linker,轻量级android库,用于突出显示textview的各个部分,带有可选回调。.zip

    这个库能够帮助开发者轻松地在TextView中突出显示文本的各个部分,并且还提供了可选的回调机制,使得开发者可以监听并处理用户的交互事件。 "Linker"库的主要功能和特性包括: 1. **忽略大小写匹配**:在查找和...

Global site tag (gtag.js) - Google Analytics