不少時間咱們在scorllview中嵌入listview的時候,都只能看到listview顯示一行數據,而咱們的要求是顯示多行,即咱們數據的行數, 當ListView的高度設定必定的值時,ListView一樣地會顯示對應的高度的Item。 所以咱們能夠計算出這個ListView的總高度,再將它設置到ListView中,那麼以前的滾動,高度問題也就不存在了。那麼請看下面的代碼:git
private void fixListViewHeight(ListView listView) { // TODO Auto-generated method stub // 若是沒有設置數據適配器,則ListView沒有子項,返回。 ListAdapter listAdapter = listView.getAdapter(); int totalHeight = 0; if (listAdapter == null) { return; } for (int i = 0, len = listAdapter.getCount(); i < len; i++) { View listViewItem = listAdapter.getView(i , null, listView); // 計算子項View 的寬高 listViewItem.measure(0, 0); // 計算全部子項的高度和 totalHeight += listViewItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); // listView.getDividerHeight()獲取子項間分隔符的高度 // params.height設置ListView徹底顯示須要的高度 params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1)); listView.setLayoutParams(params); }
原文詳情地址:http://git.oschina.net/einsqi...
wemall官網地址:http://www.wemallshop.comide