【问题标题】:Set Link Clickable in Java-Android在 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 行为。我的代码没有错误,但我无法实现我想要的。你能分享你的知识吗。谢谢你。

【问题讨论】:

标签: java android android-widget android-ui


【解决方案1】:

使用setAutoLinkMask (int mask)

可以为mask 组合的可能值是为Linkify 类定义的值。

【讨论】:

  • 谢谢。虽然这是 android:autoLink 的等效方法,但它仍然不起作用。
  • 对不起,我不同意 - 它确实有效。您需要在调用setText(...) 之前调用它,但它不会更改TextView 中的链接,因为它已经包含文本。您的问题询问如何更改 TextView 的行为,具体取决于您希望“基于某些检查条件”显示为可点击/链接项目(电话号码等)。我假设你会做检查,然后设置自动链接掩码,然后设置文本。
  • 像这样使用 Linkify 常量 textView.setAutoLinkMask(Linkify.WEB_URLS);
【解决方案2】:
 Linkify.addLinks(myView, Linkify.ALL);

解决了这个问题。

【讨论】:

  • 工作正常!谢谢
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 2020-08-06
  • 2016-04-07
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多