gpt4 book ai didi

android - 在使用 Linkify 查找和设置文本内的链接时处理对 TextView 链接的点击

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:50:58 25 4
gpt4 key购买 nike

我有一个 TextView,其中填充了我从服务器获取的文本。我正在使用 Linkify用于处理所有链接搜索并在其 addLinks 方法中根据需要设置 URLSpan。

问题是点击链接时的默认行为是在浏览器中打开它,我想要的是获取点击的链接并自行处理。

我没有看到任何让我设置“OnClick”或其他东西的 Linkify 方法...

感谢您的帮助:)

最佳答案

好的,所以我终于设法将自己的“OnClickListener”设置为 TextView 的链接。我的解决方案是将 Linkify 复制到我的项目中,将其命名为 CustomLinkify 并更改其 applyLink 方法:

来自:

private static final void applyLink(String url, int start, int end, Spannable text) 
{
URLSpan span = new URLSpan(url);

text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}

收件人:

private static final void applyLink(final String url, int start, int end, Spannable text) 
{
URLSpan span = new URLSpan(url)
{
@Override
public void onClick(View widget)
{
_onLinkClickListener.onLinkClicked(url);
}
};

text.setSpan(span, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}

其中 _onLinkClickListener 是一个新字段,由我在使用新的 CustomLinkify 之前设置。

我知道这不是一个非常优雅的解决方案,我更喜欢谷歌允许通过本地 Linkify 设置监听器,但是,对我来说,这比实现我自己的 Spannable 逻辑更好(如建议的其他相关问题)。

我相信 Linkify 代码,我想我会不时检查它是否有任何更改,如果有,我当然会更新 CustomLinkify 进行更改。

希望这会对某人有所帮助。

关于android - 在使用 Linkify 查找和设置文本内的链接时处理对 TextView 链接的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242000/

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