在使用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());