PullToRefreshScrollView大家应该很熟悉,这个android的开源下拉刷新,上拉加载更多的开源框架。当PullToRefreshScrollView嵌套了ListView并且ListView上面还有其他控件时,由于我们处理了ListView数据无法完全显示的问题。解决如下:
public static void setListViewHeightBasedOnChildren(ListView listView) {
BaseAdapter listAdapter = (BaseAdapter) listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
int divideHeight = (int) (0.5 * (listAdapter.getCount() - 1));
params.height = totalHeight + divideHeight;
listView.setLayoutParams(params);
}
也就是计算ListView高度并设置它