android 开发中有时候会遇到ScrollView嵌套ListView,listView内容不能正常显示的问题,今天自己也倒弄了也下。由于自己不经常写东西。不知道怎么写。希望得到大牛的指正
1.在布局文件中,要把我们的ListView先嵌套在Linearlayout中。
<ScrollView android:id="@+id/scrollView" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:id="@+id/listview" android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout> </ScrollView>2.在java代码,测量条目的高度,然后设置listView的高度
private void mListView(ListView lView) { ListAdapter listAdapter = lView.getAdapter(); if (listAdapter == null) { // pre-condition return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null, lView); listItem.measure(0, 0); totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = lView.getLayoutParams(); params.height = totalHeight + (lView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); }这样就能正常显示了。