android Linkify的用法

[来源] 达内    [编辑] 达内   [时间]2013-02-19

首先还是延续我一贯的作风,先贴出来布局页面的代码(linkifylayout.xml)

  之前一直疑惑android上的链接是怎么生成的,今天终于知道了,happy的同时,把这个小东西跟朋友们分享以下。

  首先还是延续我一贯的作风,先贴出来布局页面的代码(linkifylayout.xml)

  

  

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:orientation="vertical">

  

  android:layout_width= "wrap_content"

  android:layout_height="wrap_content">

  

  

  android:layout_width= "wrap_content"

  android:layout_height="wrap_content">

  

  

  

  package test.shi;

  import .Activity;

  import android.os.Bundle;

  import android.text.util.Linkify;

  import android.view.KeyEvent;

  import android.view.View;

  import android.widget.*;

  public class LinkifyTextView extends Activity {

  private TextView myTextView1;

  private EditText myEditText1;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

  // TODO Auto-generated method stub

  super.onCreate(savedInstanceState);

  setContentView(R.layout.linkifylayout);

  myTextView1=(TextView)findViewById(.myTextView1);

  myEditText1=(EditText)findViewById(.myEditText1);

  myEditText1.setOnKeyListener(new EditText.OnKeyListener()

  {

  @Override

  public boolean onKey(View v, int arg1, KeyEvent arg2) {

  // TODO Auto-generated method stub

  myTextView1.setText(myEditText1.getText());

  //此处是关键,感应myTextView1是web链接还是email链接,或者是电话号码

  Linkify.addLinks

  (

  myTextView1,Linkify.WEB_URLS|

  Linkify.EMAIL_ADDRESSES|

  Linkify.PHONE_NUMBERS

  );

  return false;

  }

  });

  }

  }

  除了使用Linkify之外,还可以在linkifylayout.xml文件中设置TextView的android:autoLink实现这种HyperLink的效果。如下:

  

  android:layout_width= "wrap_content"

  android:layout_height="wrap_content"

  android:autoLink="web|email|phone">

  

  通过在程序中设置

  myTextView1.setText(“;);

  myTextView1.setText(“13512345678”);

  myTextView1.setText(“”);

  这样运行时myTextView1就会生成链接,当用户点击时,会自动调用系统的Intent,以浏览器打开网址、发送邮件或拨打电话。

资源下载