首页 > 代码库 > 一键解决ScrollView嵌套ListView仅仅显示一行的问题

一键解决ScrollView嵌套ListView仅仅显示一行的问题

/**
	 * 解决ScrollView嵌套ListView仅仅显示一行的问题
	 * 
	 * @param listView
	 */

	private void setListViewHeightBasedOnChildren(ListView listView) {

		ListAdapter listAdapter = 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();

		params.height = totalHeight

		+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));

		listView.setLayoutParams(params);

	}

一键解决ScrollView嵌套ListView仅仅显示一行的问题