Android中具有大量数据的ListView的动态高度

Android中具有大量数据的ListView的动态高度,android,listview,dynamic,height,Android,Listview,Dynamic,Height,我正在制作一个显示图像的程序。 这是一个包装在ScrollView中的ListView和GridView。 该程序的工作原理如下:当您单击GridView项时,所选项将添加到ListView中,因此可以将多个项添加到ListView中。因此,可以滚动浏览ScrollView的全部内容。在ListView包含大量数据之前,一切都正常工作,在这种情况下,添加和呈现新ListView的速度将显著降低。因此,我想问一下,是否有人处理过类似的问题,并且知道如何更好地调整和重画整个ListView 目前,

我正在制作一个显示图像的程序。

这是一个包装在ScrollView中的ListView和GridView。 该程序的工作原理如下:当您单击GridView项时,所选项将添加到ListView中,因此可以将多个项添加到ListView中。因此,可以滚动浏览ScrollView的全部内容。在ListView包含大量数据之前,一切都正常工作,在这种情况下,添加和呈现新ListView的速度将显著降低。因此,我想问一下,是否有人处理过类似的问题,并且知道如何更好地调整和重画整个ListView

目前,我执行计算并调整ListView的大小,如下所示:

public ListUtils(ListView listView){
    ListAdapter adapter = listView.getAdapter();

    int count = adapter.getCount();
    int itemsHeight;    

    View oneChild = listView.getChildAt(0);
    if( oneChild == null){
        return;
    }

    itemsHeight = oneChild.getHeight();

    LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)listView.getLayoutParams();
    params.height = (itemsHeight * count);
    listView.setLayoutParams(params);
}

如果您使用的ListView存在性能问题,我建议您切换到
RecyclerView
并使用自定义
RecyclerView.Adapter
。看看这个问题。

看看这个问题:我认为listview本身在默认情况下是可滚动的。不确定是否需要滚动视图,实际上。。。我很清楚ListView是可滚动的,但我想同时滚动ListView和GridView