在 Java-Android 中设置链接可点击
Posted
技术标签:
【中文标题】在 Java-Android 中设置链接可点击【英文标题】:Set Link Clickable in Java-Android 【发布时间】:2012-04-01 07:50:56 【问题描述】:我正在设计一个应用程序,其中有 TextView,并且基于一些检查条件,我想在 Java 端使 TextView 中的链接/电话号码可点击。我可以这样做吗,我不想让它默认可点击,这是通过在 xml 文件中设置来完成的
android:autoLink="all"
我已经尝试过的: 创建常规 TextView 并且不设置 autoLink="all",
TextView myView =
(TextView)view.findViewById(R.id.thisIstheTextView);
myView .setLinksClickable(true);
也试过了:
myView .setMovementMethod(LinkMovementMethod.getInstance());
以上 Java 代码都不起作用,我不想要启用自动链接的预先设计的 xml TextView,我想根据 if () 条件更改 Java 代码中的 TextView 行为。我的代码没有错误,但我无法实现我想要的。你能分享你的知识吗。谢谢你。
【问题讨论】:
***.com/questions/9380349/… 【参考方案1】:使用setAutoLinkMask (int mask)
。
可以为mask
组合的可能值是为Linkify 类定义的值。
【讨论】:
谢谢。虽然这是 android:autoLink 的等效方法,但它仍然不起作用。 对不起,我不同意 - 它确实有效。您需要在调用setText(...)
之前调用它,但它不会更改TextView
中的链接,因为它已经包含文本。您的问题询问如何更改 TextView
的行为,具体取决于您希望“基于某些检查条件”显示为可点击/链接项目(电话号码等)。我假设你会做检查,然后设置自动链接掩码,然后设置文本。
像这样使用 Linkify 常量 textView.setAutoLinkMask(Linkify.WEB_URLS);【参考方案2】:
Linkify.addLinks(myView, Linkify.ALL);
解决了这个问题。
【讨论】:
工作正常!谢谢以上是关于在 Java-Android 中设置链接可点击的主要内容,如果未能解决你的问题,请参考以下文章
如何在xml中设置复合可绘制文本视图的高度和宽度? [关闭]
如何在网页中设置一个链接直接跳转到OUTLOOK然后发送邮件