在 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 中设置链接可点击的主要内容,如果未能解决你的问题,请参考以下文章

JSP中设置超链接失效点击进入下载页面的问题

如何在xml中设置复合可绘制文本视图的高度和宽度? [关闭]

如何在网页中设置一个链接直接跳转到OUTLOOK然后发送邮件

如何在html页面中设置超链接

如何在 SwiftUI 列表中设置 NavigationLink

如何在 ios 中使用图案图像在可扩展的 tableViewCell 中设置 UIButton