本节要讲的是,当我们在一个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;   }        });    }}




扩展学习:

当然我们还有更简单的方法.就是在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"/>


也能达到同样的效果,呵呵.今天到此结束,谢谢大家!

更多相关文章

  1. android从不同的layout添加tab页内容_tabhost
  2. Android app中调用启动其他应用(系统应用和第三方应用)2016.10.25
  3. TextView内容太长怎么办?
  4. android关闭或开启移动网络数据(关闭后,设备不可以上网,但可以打电
  5. android电话服务
  6. android textview 自动链接网址 修改默认点击事件
  7. [置顶] android 抽屉效果,内容GridView来实现单行滑动
  8. Android调用系统短信发送界面并预设接收号码、短信内容

随机推荐

  1. 实现Activity数据中间的协同
  2. android开发:activity继承AppCompatActivi
  3. opencv android 图像处理错误error: (-21
  4. sildingdraw的使用和需要注意的地方
  5. Android(安卓)Opencv 轮廓提取
  6. android进程(关闭自己和关闭其他进程)
  7. Android菜单menu控件大全
  8. Eclipse闪退/打不开/无法启动/一闪而过
  9. Android(安卓)sdk报错,unfortunately XXX
  10. Android(安卓)MediaPlayer Error/Info Co