android開發中使不同的listview同時聯動,androidlistview
在做一個Android程式時,需要在一個螢幕上顯示兩個不同的listview,開始用< linearlayout>包裹這兩個listview在<ScrollView >設定時,
出現了不能同時聯動的問題。
其中一個listview是我需要把資料繫結到這張圖片上,
綁定內容請忽略!!!
後來才知道需要設定每個listview的高度,並且綁定到View中, 才能實現同時聯動。
1 public void SetListViewHeight(ListView listView) { 2 ListAdapter List_Adapter = listView.getAdapter(); 3 if (List_Adapter == null) { 4 return; 5 } 6 int ALLHeight = 0; 7 for (int i = 0; i < List_Adapter.getCount(); i++) { 8 View listItem = List_Adapter.getView(i, null, listView); 9 listItem.measure(0, 0); // 在還沒有構建View 之前無法取得View的度寬。在此之前我們必須選 measure 一下. 10 ALLHeight += listItem.getMeasuredHeight(); 11 } 12 ViewGroup.LayoutParams params = listView.getLayoutParams(); 13 params.height = ALLHeight + (listView.getDividerHeight() * (List_Adapter.getCount() - 1)); // listView.getDividerHeight()擷取子項間分隔字元佔用的高度14 15 // params.height得到整個ListView完整顯示需要的高度 16 listView.setLayoutParams(params); 17 }
在需要綁定的listview後面調用一下 “SetListViewHeight(ListView listView)”函數,就能實現兩個或多個不同的listview同時聯動。