首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问linkify号码

如何访问linkify号码
EN

Stack Overflow用户
提问于 2014-12-14 16:33:18
回答 1查看 375关注 0票数 0

我需要让字符串中的所有数字都成为链接。当单击这些链接中的任何一个时,预期的操作是将单击的数字附加到现有字符串。我使用下面的代码成功地将这些数字联系起来:

Pattern myMatcher = Pattern.compile("[0-9]*"); Linkify.addLinks(myString, myMatcher, null);

在这种情况下,如何访问和检索被点击的号码?

我试着查看与Linkify相关的其他问题,但似乎都是在描述打开活动或打开该链接类型(电子邮件地址/web URL/等)的默认应用程序的方法。

提前感谢您的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2014-12-14 16:59:31

您可以自定义Linkify以将任何预定义的字符串(方案)附加到其中。

看看下面的文章Android Developer Blogspot (搜索"Custom Linkify")

为了清楚起见,我在这里描述了这篇文章的一部分:

Linkify将自动附加任何与提供给它的方案匹配的内容,因此为了便于讨论,假设我们有一个与以下内容URI匹配的ContentProvider:

content://com.google.android.wikinotes.db.wikinotes/wikinotes/WikiWord

当Linkify找到匹配项时,WikiWord部分将被附加,所以我们只需要之前的部分作为我们的方案。

现在我们有了这两件事,我们使用Linkify将它们连接起来:

"content://com.google.android.wikinotes.db.wikinotes/wikinotes/";wikiWordMatcher = Pattern.compile("\bA-Z+a-z0-9+A-Z+\b");String wikiViewURL = Pattern Linkify.addLinks(noteView,wikiWordMatcher,wikiViewURL);

Linkify可以在同一个视图上多次使用,以添加更多的链接,因此在默认的Linkify调用之后使用此链接意味着将保留现有的活动链接并添加新的WikiWords。如果你愿意,你可以定义更多的Linkify操作并将它们应用于相同的TextView。

现在,如果我们在TextView中有一个WikiWord,比方说MyToDoList,Linkify会把它变成一个带有内容URI的活动链接:

content://com.google.android.wikinotes.db.wikinotes/wikinotes/MyToDoList

如果你点击它,Android将触发该内容URI的默认意图。

要使这一切正常工作,您将需要一个能够理解该内容URI的ContentProvider,并且需要一个能够对结果数据执行某些操作的默认活动。我计划在将来的博客文章中(很快)讨论这些。事实上,整个Wiki Note Pad应用程序目前正在进行一些清理和审查,然后有望作为示例应用程序发布。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27467629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档