zoukankan      html  css  js  c++  java
  • 自定义 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();
            }   
        }
    }
  • 相关阅读:
    Making your first driver
    注册表与盘符(转victor888文章 )
    电脑Win7如何取得文件管理所有权(提供各种GHOST版本的Windows)
    可拖动的DIV
    IE Javascript 进阶调试
    优化性能
    命令模式
    MVC 4 结合jquery.uploadify 上传实例
    IIS处理并发请求时出现的问题及解决
    Spring3.2 + Hibernate4.2
  • 原文地址:https://www.cnblogs.com/tt_mc/p/1836782.html
Copyright © 2011-2022 走看看