gpt4 book ai didi

java - 如何在 Android 中向文本添加 href 链接?

转载 作者:行者123 更新时间:2023-12-02 03:31:12 24 4
gpt4 key购买 nike

我正在使用 jsoup 抓取一些网络数据,我可以以不同的方式获取链接和文本。我想使用我获取的链接为这些文本创建超链接。我是 Android 开发新手,所以我不知道如何实现它,也不知道到底要寻找什么。

下面是我尝试过的示例代码:

private void getWebsite(){
new Thread(new Runnable(){
@Override
public void run() {
final StringBuilder builder = new StringBuilder();
try{
Document doc =
Jsoup.connect("https://www.wikipedia.org/").get();
String title = doc.title();
Elements links = doc.select("a[href]");

builder.append(title).append("\n");

for(Element link : links){
builder.append("\n").append("Link:
").append(link.attr("href"))
.append("\n").append("Text:
").append(link.text());
}

} catch (IOException e){
builder.append("Error").append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(builder.toString());
}
});
}
}).start();
}

我希望文本可点击,并且它应该重定向到来自应用程序的链接。

最佳答案

要在 TextView 中链接文本链接 url,请使用 SpannableStringBuilder而不是常规的 StringBuilder 并设置 URLSpan对于每个可点击的内容:

final SpannableStringBuilder builder = new SpannableStringBuilder();
...
for (Element link : links) {
final String url = link.attr("href");
builder.
....
.append("Link: ")
.append(url, new URLSpan(url), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
.append("\n")
...
}

最后

textView.setText(builder);
textView.setMovementMethod(LinkMovementMethod.getInstance());

关于java - 如何在 Android 中向文本添加 href 链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56883311/

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