我正在开发一个显示图像的程序。
这是一个包含在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);
}