当前位置:  开发笔记 > 前端 > 正文

TextView中url的Android活动链接

如何解决《TextView中url的Android活动链接》经验,为你挑选了5个好方法。

我从Web服务获取动态文本并在TextView中显示相同的内容.有时TextView有url之类的hello.我使用以下代码设置了文本.

textView.setText(Html.fromHtml(sampletext));

并且还在android:autoLink="web"相应的xml中设置了包含的内容TextView.现在链接显示正确的蓝色和下划线,但我发现它只是一个死链接.如果我们试图点击它,什么也没发生.我需要做些什么才能使链接生效?



1> L. G...:

重新审视所有解决方案后,总结一些解释:

android:autoLink="web" 

即使未设置android:linksClickable,也会找到一个URL并创建一个链接,默认情况下链接是可点击的.您不必单独保留URL,即使在文本中间,它也会被检测到并可单击.



要通过代码设置链接,原理相同,不需要模式或android:布局中的自动链接,使用Linkify自动找到链接:

  final TextView myClickableUrl = (TextView) findViewById(R.id.myClickableUrlTextView);
  myClickableUrl.setText("Click my web site: www.stackoverflow.com");
  Linkify.addLinks(myClickableUrl, Linkify.WEB_URLS);


上面的答案与Web视图不对应,如果您想使用Web视图,只需将html加载到Webview中即可.
完美解决方案 为我工作.

2> Vinayak Bevi..:

这对我有用:





3> M.Ali El-Say..:

要保存任何一次真正的解决方案

    

我使用它,它的工作完美


如果我们希望文本与实际网址不同,该怎么办?:P

4> Arnaud Smart..:

有2种情况:

文字看起来像 "click on http://www.hello.com"

然后你只需要在xml中设置autoLink属性,以便在文本中自动检测到链接:


文字看起来像 click on hello

那么你必须通过代码来完成并告诉文本是html,并为点击指定链接移动方法:

    String text = "click on hello";
    TextView textView = view.findViewById(R.id.textView);
    textView.setText(Html.fromHtml(text));
    textView.setMovementMethod(LinkMovementMethod.getInstance());



5> Sherif elKha..:

看看这种方法:

String text = "Visit stackoverflow.com";
TextView label = new TextView(this);
label.setText(text);
Pattern pattern = Pattern.compile("stackoverflow.com");
Linkify.addLinks(label, pattern, "http://");


@StealthRabbi`import android.text.util.Linkify;`
推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有