scrollView里面的android-ListView无法正常工作

时间:2015-07-21 14:39:36

标签: android listview android-listview

我在scrollView中使用listView,出于某些原因我无法将addHeader用于addFooter。

当我将适配器设置为listView时,我将其更改为高度,但它无法正常工作。

这是我的代码:

lv.setAdapter(ladap);
                    int totalHeight = 0;
                    for (int size = 0; size < ladap.getCount(); size++) {
                        View listItem = ladap.getView(size, null, lv);
                        listItem.measure(0, 0);
                        totalHeight += listItem.getMeasuredHeight();
                    }
                    ViewGroup.LayoutParams params = lv.getLayoutParams();
                    params.height = totalHeight + (lv.getDividerHeight() * (ladap.getCount() - 1));
                    lv.setLayoutParams(params);
                    lv.requestLayout();

结果如下:

enter image description here

如您所见,列表视图在页面中间完成,但仍然滚动很多。

如何正确使用?

1 个答案:

答案 0 :(得分:2)

您不需要将ScrollView与ListView一起使用。如Android Dev docs中所述:

  

你永远不应该使用带有ListView的ScrollView,因为ListView负责自己的垂直滚动。最重要的是,这样做会使ListView中的所有重要优化都无法处理大型列表,因为它有效地强制ListView显示其整个项目列表以填充ScrollView提供的无限容器。