在使用RefreshListView的时候。发现有使用
/****
* parent.getAdapter().getItem(position)√
* adpter.getItem(id);√
* adpter.getItem(position -listView.getHeaderViewsCount());√
* adpter.getItem(position); X
* id adapter.getId(position);
*/
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) { String item = (String) adpter.getItem(position);
Toast.makeText(this, "position:" + position + " item:" + item+" id:"+id, 0).show();
}
结果发现点击事件得到的结果是错位的。
查阅资料发现是由于listView加了headView后,点击事件里面的position是加上了headView。
要获取正确的位置Item,代码上面凝视的几个方法parent.getAdapter().getItem(position)。adpter.getItem(id);adpter.getItem(position -listView.getHeaderViewsCount());