Andoid自動判斷輸入是電話,網址或者Email的方法Linkify的應用!

本節要講的是,當咱們在一個EditText輸入電話或者網址仍是Email的時候,讓Android自動判斷,當咱們輸入的是電話,咱們點擊輸入內容將調用打電話程序,當咱們輸入是網址點擊將打開瀏覽器程序.而Linkify很好的解決了這個問題.咱們將分四步來完成這個Demo.java

 

Step 1:新建一個Android工程,命名爲LinkifyDemo.android

 

Step 2:打開main.xml文件,將其內容修改成以下內容:web

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="請輸入電話或者E-mail或者網址:"
    />
<EditText
 android:id="@+id/et1"
 android:layout_width="340px"
 android:layout_height="wrap_content"
/>
<TextView
 android:id="@+id/tv1"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
/>
</LinearLayout>瀏覽器

Step 3:在主應用程序LinkifyDemo.java裏代碼修改以下:app

 

package com.android.test;ide

import android.app.Activity;
import android.os.Bundle;
import android.text.util.Linkify;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;學習

public class LinkifyDemo extends Activity {
   
 private EditText et;
 private TextView tv;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //獲取資源
        et = (EditText)findViewById(R.id.et1);
        tv = (TextView)findViewById(R.id.tv1);
        //增長事件響應
        et.setOnKeyListener(new EditText.OnKeyListener(){
   @Override
   public boolean onKey(View v, int keyCode, KeyEvent event) {
          tv.setText(et.getText());
          //判斷輸入的類型是哪一種,並與系統鏈接
          Linkify.addLinks(tv, Linkify.WEB_URLS
            Linkify.EMAIL_ADDRESSESLinkify.PHONE_NUMBERS);
          
          return false;
   }
        });
    }
}3d

 

 Step 4:運行之.將出現以下效果:xml

 

 Andoid自動判斷輸入是電話,網址或者Email的方法Linkify的應用!
 Andoid自動判斷輸入是電話,網址或者Email的方法Linkify的應用!

 

以輸入爲電話爲例,也就是這張圖片,當咱們點擊這個號碼時候,系統將自動調用打電話的應用程序,以下圖:事件

 

Andoid自動判斷輸入是電話,網址或者Email的方法Linkify的應用!

 

擴展學習:

 

固然咱們還有更簡單的方法.就是在main.xml裏id爲tv的TextView裏申明這句話也就是:

 

<TextView
 android:id="@+id/tv1"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"

 android:autoLink="webphoneemail"
/>

也能達到一樣的效果,.今天到此結束,謝謝你們

相關文章
相關標籤/搜索