gpt4 book ai didi

java - android json向文本添加超链接

转载 作者:行者123 更新时间:2023-12-01 15:14:33 25 4
gpt4 key购买 nike

这是我的 json 输出示例:

{"podcast":[{"link":"rtsp:\\live.xxx.ro:554\vod\_definst_\mp4:05\rfm_00.mp4","name":"Recording 1"}

为了解析 json 代码,我使用这个:

private static final String TAG_LINK = "link";
private static final String TAG_NAME = "name";
try {
int success = json.getInt(TAG_SUCCESS);

if (success == 1) {
products = json.getJSONArray(TAG_PRODUCTS);
for (int i = 0; i < products.length(); i++) {
JSONObject c = products.getJSONObject(i);
String link = c.getString(TAG_LINK);
String name = c.getString(TAG_NAME);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_LINK, link);
map.put(TAG_NAME, name);
productsList.add(map);
}
} else {

}
} catch (JSONException e) {
e.printStackTrace();
}

return null;
}

protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
ListAdapter adapter = new SimpleAdapter(
PodCast.this, productsList,
R.layout.list_item, new String[] {
TAG_NAME, TAG_LINK },
new int[] { R.id.link, R.id.name });
setListAdapter(adapter);
}
});

对于布局,这是链接 View 的代码:

<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip"
android:paddingLeft="6dip"
android:paddingBottom="6dip"
android:textSize="17dip"
android:autoLink="web"
android:textColor="#fff"
android:textColorLink="#fff"
android:textStyle="bold"/>

一切正常...但在链接 View 中我得到了整个链接 rtsp://live.xxx.ro...等,我希望是这样的:<a href="rtsp://...">NAME </a>所以我会有名称,当我单击它打开指定的链接时。你们能帮我弄清楚怎么做吗?

最佳答案

简单...

String href = String.format("<a href=\"%s\"> %s </a>", map.get(TAG_LINK), map.get(TAG_NAME));
textV.setText(Html.fromHTML(href))

或者如果您有一个链接作为资源字符串;只需确保保留的 HTML 字符不会转换为 HTML 实体即可。

解析错误的示例:

<string name="a_link">&lt;a href=&quot;http://www.google.com&quot;&gt;click here&lt;/a&gt;</string>

要修复此问题,请手动编辑 strings.xml 并将 HTML 实体转换为它们代表的字符,这样上面就变成了:

<string name="a_link"><a href="http://www.google.com">click here</a></string>

它应该可以工作。

关于java - android json向文本添加超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817111/

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