• Android自动判断输入是电话,网址或者Email的方法—Linkify的应用


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

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

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

    Java代码 
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:orientation="vertical"  
    4.     android:layout_width="fill_parent"  
    5.     android:layout_height="fill_parent"  
    6.     >  
    7. <TextView    
    8.     android:layout_width="fill_parent"   
    9.     android:layout_height="wrap_content"   
    10.     android:text="请输入电话或者E-mail或者网址:"  
    11.     />  
    12. <EditText  
    13.  android:id="@+id/et1"  
    14.  android:layout_width="340px"  
    15.  android:layout_height="wrap_content"  
    16. />  
    17. <TextView  
    18.  android:id="@+id/tv1"  
    19.  android:layout_width="fill_parent"  
    20.  android:layout_height="wrap_content"  
    21. />  
    22. </LinearLayout>  



    Step 3:在主应用程序LinkifyDemo.java里代码修改如下: 

    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里申明这句话也就是: 

    Java代码 
    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. />  



    也能达到同样的效果。

    转自:http://zkl-1987.iteye.com/blog/1055413

  • 相关阅读:
    STM32F2系列系统时钟默认配置
    在电源上叠加一个脉冲信号,模拟一个干扰信号
    const用法
    指向指针的指针
    Judge Route Circle
    汉明距离
    绘制三角形
    OpenGL工作流程
    OpenGL环境搭建
    next()方法 执行下一个中间件 类似than
  • 原文地址:https://www.cnblogs.com/shanzei/p/2415247.html
Copyright © 2020-2023  润新知