java 安卓 json向文本添加超链接
以下是我的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);
}
});
对于布局,这是链接视图的代码:
<TextView
安卓:id="@+id/name"
安卓:layout_width="fill_parent"
安卓:layout_height="wrap_content"
安卓:paddingTop="6dip"
安卓:paddingLeft="6dip"
安卓:paddingBottom="6dip"
安卓:textSize="17dip"
安卓:autoLink="web"
安卓:textColor="#fff"
安卓:textColorLink="#fff"
安卓:textStyle="bold"/>
一切都很好。。。但是在链接视图中,我得到了整个链接rtsp://live.xxx.ro...etc我希望是这样:<a href="rtsp://...">NAME </a>
这样我就有了名字,当我点击它打开指定的链接时。你们能帮我弄清楚怎么做吗
# 1 楼答案
您需要设置函数setOnItemClickListener(),并在其中声明如下内容:
# 2 楼答案
简单的
或者如果你有一个链接作为资源字符串;只需确保保留的HTML字符不会转换为HTML实体
一个可能会错误解析的示例:
要修复它,请手动编辑
strings.xml
,并将HTML实体转换为它们所代表的字符, 使上述内容成为:它应该会起作用