3 回答

TA貢獻1828條經驗 獲得超3個贊
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將是自定義對象的ArrayList中與單擊的列表項相對應的索引。檢索URL,對其進行解析,然后調用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));
}
});
請注意,我假設您的自定義類是NewsObject,因為這是您的Adapter示例所使用的。
- 3 回答
- 0 關注
- 893 瀏覽
添加回答
舉報