我有带有自定义适配器(基本适配器)的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);
    }
}

10-07 19:18
查看更多