gpt4 book ai didi

Android - 为什么自动链接会忽略 URL 的根路径?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:32 26 4
gpt4 key购买 nike

我有一个带有 android:autoLink="web"的 TextView。文本包含一些 URL。

例如:
http://example.com/

但是在呈现时,它链接名称方案和域名但忽略根路径。

示例呈现为:
http://example.com/

为什么要这样做以及如何让它正确地自动链接完全限定的 URL?

编辑:此外,网址后跟句号或逗号:
http://example.com/ ,

正在呈现为:
http://example.com/,

请注意 StackExchange 自动链接正确(查看此问题的来源)。

编辑:Sam,这是代码:

        <TextView android:id="@+id/open_source"
android:text="@string/open_source"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FFF"
android:paddingBottom="10dp"
android:autoLink="web" />

一些文字:

<string name="open_source">Three examples, fully qualified http://isokeys.sourceforge.net/ missing root path http://isokeys.sourceforge.net and followed with a fullstop http://isokeys.sourceforge.net/.</string>

应呈现为:
三个例子,完全合格http://isokeys.sourceforge.net/缺少根路径 http://isokeys.sourceforge.net然后是句号 http://isokeys.sourceforge.net/ .

呈现为:
三个例子,完全合格http://isokeys.sourceforge.net/缺少根路径 http://isokeys.sourceforge.net然后是句号 http://isokeys.sourceforge.net/.

最佳答案

我只想指出两点:
1) 当您将 autoLink 设置为等于“web”时,Android 在后台使用 android.text.util 包中的工具来查找 View 对象文本中包含的可操作项。默认情况下,android.text.util.Linkify 对什么是有效 URL(基于正则表达式匹配)有自己的看法。如果您真的想使用尾部带有斜杠、您或逗号的 URL,您可以使用自己的正则表达式实现自己的 MatchFilter。可以找到文档 here在 Android 开发者网站上
2) 尾部斜杠在标准 URL 中实际上没有任何意义,因为它用于指示资源层次结构中的位置,但是如果斜杠后面没有任何内容,那么您就不会遍历到资源的另一个级别等级制度。附加逗号或句点不应该是有效的 URL 语法,因为这无助于在您的层次结构中定位资源,所以我假设 Android 的匹配正则表达式会忽略它,以防止您在尝试对链接执行操作时收到 MalformedURLException

关于Android - 为什么自动链接会忽略 URL 的根路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10539946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com