android textview 自动链接网址 修改默认点击事件

来源:互联网 发布:先锋网络电视 编辑:程序博客网 时间:2024/05/24 03:07
1 修改XML文件即可,android:autoLink="web" 
[code=xml"] 
<TextView 
        android:id="@+id/text_view" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:autoLink="all" 
        android:text="@string/hello" /> 

autoLink有好几种类型:web phone all等。 

2 修改链接的默认点击事件 
Java代码  收藏代码
  1. public class HtmlAllTestActivity extends Activity{  
  2.     private TextView tv;  
  3.       
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState) {  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.main);  
  8.         this.tv = (TextView)findViewById(R.id.text_view);  
  9.           
  10.         CharSequence text = tv.getText();  
  11.         if (text instanceof Spannable) {  
  12.             int end = text.length();  
  13.             Spannable sp = (Spannable) tv.getText();  
  14.             URLSpan[] urls = sp.getSpans(0, end, URLSpan.class);  
  15.             SpannableStringBuilder style = new SpannableStringBuilder(text);  
  16.             style.clearSpans();// should clear old spans  
  17.             for (URLSpan url : urls) {  
  18.                 MyURLSpan myURLSpan = new MyURLSpan(url.getURL());  
  19.                 style.setSpan(myURLSpan, sp.getSpanStart(url), sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);  
  20.             }  
  21.             tv.setText(style);  
  22.         }  
  23.     }  
  24.       
  25.       
  26.     private  class MyURLSpan extends ClickableSpan {  
  27.   
  28.         private String mUrl;  
  29.   
  30.         MyURLSpan(String url) {  
  31.             mUrl = url;  
  32.         }  
  33.   
  34.         @Override  
  35.         public void onClick(View widget) {  
  36.             Toast.makeText(HtmlAllTestActivity.this, mUrl, Toast.LENGTH_LONG).show();  
  37.             widget.setBackgroundColor(Color.parseColor("#00000000"));  
  38.         }  
  39.     }  
  40. }  
0 0
原创粉丝点击