本节要讲的是,当我们在一个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里申明这句话也就是:
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="web|phone|email"
/>
也能达到同样的效果,呵呵.今天到此结束,谢谢大家!
分享到:
相关推荐
Andoid自动判断输入是电话,网址或者Email的方法----Linkify的应用,本教程主讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,...
如何有效控制Andoid应用的耗电量
如何有效控制Andoid应用的耗电量
android初学者必看的好资源代码,介绍如何制作自定义的菜单,以及功能的实现
Multiple annotations found at this line: - error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/icon'). - Should explicitly set android:allowBackup to true...
一个简单的Andoid应用程序,可以获取链接并将其.zip
android ndk7 for widnows
andoid ppt demo实例 andoid ppt demo实例
从入门开始,也是从别人哪里下载的,分享给大家.不不想要分的,可必须选择
Andoid自定义标题栏示例工程,包括标题栏的图标、文字、背景、高度的自定义设置演示。
andoid跑步速度,步数等计算步
andoid位置定位DEMO
andoid-tictactoe 从 code.google.com/p/andoid-tictactoe 自动导出 屏幕图片
从入门开始,也是从别人哪里下载的,分享给大家.不不想要分的,可必须选择
android面试指南.包括java基础知识,设计模式,android知识.
小游戏andoid, 很漂亮的小游戏,请大家分享。
Andoid 天气预报源码 Android可以通过google实现获取指定经纬度位置或者某一个城市的天气信息。如果是根据经纬度查询天气信息,需要对精度为进行转换
使用Bmob快速开发Android应用。在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”。
android-support-v4-23 ContextCompat.checkSelfPermission报错解决
andoid蓝牙遥控小车制作详细说明PDF文档,内有详细的原理图、小车端单片机代码