我有带有自定义适配器(基本适配器)的listview。我想按位置从listview获取 View 。我尝试了mListView.getChildAt(position)
,但是没有用。如何获得按位置查看的项目?
最佳答案
用这个 :
public View getViewByPosition(int pos, ListView listView) {
final int firstListItemPosition = listView.getFirstVisiblePosition();
final int lastListItemPosition = firstListItemPosition + listView.getChildCount() - 1;
if (pos < firstListItemPosition || pos > lastListItemPosition ) {
return listView.getAdapter().getView(pos, null, listView);
} else {
final int childIndex = pos - firstListItemPosition;
return listView.getChildAt(childIndex);
}
}