展会信息港展会大全

Andoid 判断输入是电话,网址或者Email的方法--Linkify的应用
来源:互联网   发布日期:2016-01-06 19:12:04   浏览:2594次  

导读:本节要讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,当我们输入是网址点击将打开浏览器程序.而Linkify很好的解决了这个......

本节要讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,当我们输入是网址点击将打开浏览器程序.而Linkify很好的解决了这个问题.我们将分四步来完成这个Demo.

Step 1:新建一个Android工程,命名为LinkifyDemo.

Step 2:打开main.xml文件,将其内容修改为如下内容:

<?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里代码修改如下:

package com.android.test;

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_ADDRESSES|Linkify.PHONE_NUMBERS);

return false;

}

});

}

}

Step 4:运行之.将出现如下效果:

以输入为电话为例,也就是右上角这张图片,当我们点击这个号码时候,系统将自动调用打电话的应用程序,如下图:

扩展学习:

当然我们还有更简单的方法.就是在main.xml里id为tv的TextView里申明这句话也就是:

1

<TextView

2

android:id="@+id/tv1"

3

android:layout_width="fill_parent"

4

android:layout_height="wrap_content"

5

6

android:autoLink="web|phone|email"

7

/>

也能达到同样的效果

赞助本站

人工智能实验室

相关热词: 判断 Linkify

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港