• 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); 
            &nbsp; String htmlLinkText= " <a href=\" +"<a href="http://www.baidu.com/><u">http://www.baidu.com/><u</a>>我的CSDN博客 </u></a>";&nbsp;     
            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硬件访问服务中的HAL-查看打印的信息
    JAVA程序通过JNI调用C/C++库
    How to install android studio on ubuntu14.04
    Android驱动-Java入门学习(java安装)
    ubuntu系统64位dnw
    ubuntu安装nfs服务
    人脸识别--SeetaFace
    在Ubuntu14.04下配置Samba 完成linux和windows之间的文件共享
    Android驱动学习-Eclipse安装与配置
    unsupported major.minor version
  • 原文地址:https://www.cnblogs.com/crazywenza/p/3897090.html
Copyright © 2020-2023  润新知