3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
ArrayAdapter顯示toString()方法返回的值,因此您將需要在自定義Object類中重寫此方法以返回所需的String。您還需要至少具有該URL的getter方法,以便可以在click事件中檢索該方法。
public class NewsObject {
private String title;
private String url;
public NewsObject(String title, String url) {
this.title = title;
this.url = url;
}
public String getUrl() {
return url;
}
@Override
public String toString() {
return title;
}
...
}
在該onItemClick()方法中,position將是自定義對(duì)象的ArrayList中與單擊的列表項(xiàng)相對(duì)應(yīng)的索引。檢索URL,對(duì)其進(jìn)行解析,然后調(diào)用startActivity()。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
NewsObject item = allNews.get(position);
String url = item.getUrl();
Uri uri = Uri.parse(url);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
}
});
請(qǐng)注意,我假設(shè)您的自定義類是NewsObject,因?yàn)檫@是您的Adapter示例所使用的。
- 3 回答
- 0 關(guān)注
- 883 瀏覽
添加回答
舉報(bào)