打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Linkify
Android中的Linkify可以用来判断一个字符串是电话号码、Email、网址或是其他,如果是网址就会自动启动浏览器打开该网页;如果是电话号码就会自动打开拨号器进行打电话
public boolean onKey(View v, int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    tv.setText(et.getText());
    Linkify.addLinks(tv, Linkify.PHONE_NUMBERS|Linkify.WEB_URLS|Linkify.EMAIL_ADDRESSES);
    return false;
   }


使用Match Filter

在你定义的MatchFilter中实现acceptMatch方法,来为RegEx样式匹配添加额外的条件。当一个潜在的匹配发现时,acceptMatch被触发,匹配的开始点和结束点(包括被查找的整个文本)以参数的形式传入。

接下来的代码显示了一个MatchFilter的实现,它取消任何之前是一个“!”的匹配。

class MyMatchFilter implements MatchFilter {

public boolean acceptMatch(CharSequence s, int start, int end) {

return (start == 0 || s.charAt(start-1) != ‘!’);

}

}

使用Transform Filter

Transform Filter为格式化文本字符串提供了更大的自由度,允许你修改由链接文本自动生成的隐式URI。减少链接文本和目标URI的耦合能更加自由地决定如何显示数据字符串给用户。

使用Transform Filter,在你定义的TransformFilter中实现transformUrl方法。当Linkify找到正确的匹配后,它会调用transformUrl,传入使用的RegEx样式和它创建的默认URI字符串。你可以修改匹配的字符串,然后返回一个适合给其它Android应用程序“看”的URI。

下面的TransformFilter实现将匹配的文本转换成小写的URI:

class MyTransformFilter implements TransformFilter {

public String transformUrl(Matcher match, String url) {

return url.toLowerCase();

}

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linkify介绍(在TextView类中创建超链接)
An Introduction to RDF and the Jena RDF API (译文)
复制和粘贴| Android开发者
Android开发者指南
XmlWriter 类 (System.Xml)
谷歌Android Pie中的AI是如何工作的?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服