Android自动匹配电子邮件地址,网址,电话–谈Linkify的使用 2016年1月15日2011年11月2日 作者 htynkn 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 转载自夜明的孤行灯 本文链接地址: https://www.huangyunkun.com/2011/11/02/android_linkify/ 翻看Android Api,无意看到了Linkify。按照Api的说明,Linkify可以转化符合匹配规则的文字为可点击的连接。 感觉这个还是有点用处,下面来试一试。 1.新建一个项目 2.修改样式文件 为了方便查看效果,添加一个EditText和一个TextView 代码如下: <?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" android:weightsum="1"> <edittext android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/inputText"> <requestfocus></requestfocus> </edittext> <textview android:layout_height="wrap_content" android:textappearance="?android:attr/textAppearanceLarge" android:layout_width="fill_parent" android:layout_weight="0.08" android:id="@+id/viewText" android:text="请输入内容"></textview> </linearlayout> 3.修改AndroidLearnActivity.java 看一下关键部分的说明 在本例子中我们使用第一个。再看一看Linkify默认支持识别什么。 MAP_ADDRESSES我没有理解到… 下面看一下完整的代码: package cn.ghy.sdx; import android.app.Activity; import android.os.Bundle; import android.text.util.Linkify; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.EditText; import android.widget.TextView; public class AndroidLearnActivity extends Activity { EditText editText; TextView textView;@OverridepublicvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.main); editText=(EditText)this.findViewById(R.id.inputText); textView=(TextView)this.findViewById(R.id.viewText); editText.setOnKeyListener(new OnKeyListener() {@OverridepublicbooleanonKey(View v,int keyCode, KeyEvent event) { textView.setText(editText.getText()); Linkify.addLinks(textView, Linkify.EMAIL_ADDRESSES|Linkify.PHONE_NUMBERS|Linkify.WEB_URLS);returnfalse; } }); } } 效果如下: 网址: 电话: 邮箱: 学习进阶: Linkify自带的几种基本可以满足需要,但是有时候有更灵活的需要。比如我需要用户输入一个身份证号。 正则我不是很清楚,用个简单的。 textView.setText(editText.getText()); Pattern pattern =Pattern.compile("d{15}|d{18}"); String scheme="http://chaxun?sfz="; //这是随意写哈 Linkify.addLinks(textView, pattern, scheme); 效果: 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 转载自夜明的孤行灯 本文链接地址: https://www.huangyunkun.com/2011/11/02/android_linkify/