我有一个数组,我需要访问依赖于listView中的哪个项目被单击的元素。了解'getView()'
发送到getView()方法的第一个int值,即int arg0是否是已被单击的数组元素的ID?我需要从listview onClickListner分配ID吗?
public View getView(int arg0, View arg1, ViewGroup arg2) {
}
我认为以下两种overidden方法必须藏汉实现:
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
目前我的应用程序只允许我,所以我相信它忽略访问数组的元素0(第一个元素)无论我的listview中的哪个项目被点击,其他19个元素。
private List<GeoName> names = new ArrayList<GeoName>();
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
GeoName location = this.names.get(arg0);
Location l = location.getGeometry().getLocation();
Latt = l.getLat();
Longg = l.getLng();
从上面的代码中,当调用name.get()方法时,应该为'arg0'自动分配元素ID值吗?
非常感谢,一个非常明智的答案。这使得getView的功能更加清晰。 – user1352057 2013-02-28 19:10:55
我很高兴它为你解决。你也可以upvote;) – 2013-03-01 06:09:31