gpt4 book ai didi

java - 如何动态地将可点击元素添加到来自api的字符串中的url地址和电话号码?安卓Java

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

我有一些来自 api 的数据,例如:

“www.someUrl.com/someUrl.htm\n电话。+34 666 999 111”

“www.someUrl.com www.someUrl.com” - 它是下面代码中的 element.getTextDescription()

我需要将其动态添加到 android 布局中,所以我做了这样的事情:

    private void prepareHeader(TextView textView, El element) {
textView.setText(element.getTextDescription().replaceAll("\\\\n", "\n"));
}

private void prepareContent(TextView textView, El element) {
textView.setText(element.getTextDescription().replaceAll("\\\\n", "\n"));

}

private void prepareTextViews(ArrayList<El> data) {
for (int i = 0; i < data.size(); i++) {
TextView textView = new TextView(this);
El element = data.get(i);
String[] splittedElement = element.getTextName().split("_");

if (splittedElement.length == 2) {
prepareHeader(textView, element);
} else {
prepareContent(textView, element);
}

if (i == 0) {
textView.setPadding(40, 30, 0, 20);
}

essentialInfoContainer.addView(textView);
}
}

我不知道如何解析从 api 获取的文本,并将其部分更改为可点击元素。我需要这样的东西:

<可点击的url元素>www.someUrl.com/someUrl.htm + \ntel. + <可点击数字元素>+34 666 999 111

<可点击的url元素>www.someUrl.com <可点击的url>www.someUrl.com

有时 element.getTextDescription() 只给我常规字符串,然后我想要:“常规字符串”

最佳答案

看看这篇文章:Android set autoLink attribute programmatically你最好的选择是使用 autoLink 属性创建这些动态对象(显然你也可以在 xml 中设置)。

Linkify.addLinks(your_text_view, Linkify.PHONE_NUMBERS);

作为更完整的示例。希望这有所帮助,另外,看看 SpannableStringBuilder :https://developer.android.com/reference/android/text/SpannableStringBuilder这可以帮助您为这些可点击项目实现不同的外观。还可以考虑以代码或 xml 的形式为要显示的每个项目创建单独的 TextView 项目,因为这可能是解决问题的更简单方法。如果这不能回答您的问题,请告诉我,我会看看如何编辑它。

关于java - 如何动态地将可点击元素添加到来自api的字符串中的url地址和电话号码?安卓Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57082796/

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