zoukankan      html  css  js  c++  java
  • 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();
            }   
        }
    } 
  • 相关阅读:
    希腊字母写法
    The ASP.NET MVC request processing line
    lambda aggregation
    UVA 10763 Foreign Exchange
    UVA 10624 Super Number
    UVA 10041 Vito's Family
    UVA 10340 All in All
    UVA 10026 Shoemaker's Problem
    HDU 3683 Gomoku
    UVA 11210 Chinese Mahjong
  • 原文地址:https://www.cnblogs.com/crazywenza/p/3897090.html
Copyright © 2011-2022 走看看