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 关注
- 823 浏览
添加回答
举报