解決ListView巢狀ListView遇到的問題

2021-06-22 11:14:37 字數 806 閱讀 2819

listview巢狀會造成的問題主要是子listview的高度錯誤導致內容不能正常顯示完,解決這個問題,我個人第乙個想法就是重新計算子listview的高度,**如下:

private void setlistviewheightbasedonchildren(listview listview)  

int totalheight = 0;

for (int i = 0; i < listadapter.getcount(); i++)

viewgroup.layoutparams params = listview.getlayoutparams();

params.height = totalheight + (listview.getdividerheight() * (listadapter.getcount() - 1));

listview.setlayoutparams(params);

}

relationadapter relationadapter = new relationadapter(context, model.relations);cell.xlistview.setadapter(relationadapter);setlistviewheightbasedonchildren(cell.xlistview);

adapter中getview方法返回的view的必須由linearlayout組成,因為只有linearlayout才有measure()方法,如果使用其他的布局如relativelayout,在呼叫listitem.measure(0, 0);時就會拋異常。

解決ListView巢狀ScrollView的問題

當scrollview裡面包含listview時,listview只能顯示第一行資料.所以需要解決的也就是高度問題了 需要自定義,重寫onmeasure方法,改變測量的高度就行了class mylistview extends listview 使得listview適應scrollview的效果 o...

ListView巢狀listView問題

listview巢狀listview 外層的listview是原生的,裡面的是自定義的mylistview 1.如果兩層都是listview,出現問題 裡層的listview只會顯示一條資料 2.如果外層mylistview,裡層listview 出現問題 導致只能顯示一屏資料,而且裡層的listv...

ListView巢狀ListView優化

在做業務時候,乙個listview顯示多種資料型別,我們想到的方法是listview在巢狀乙個listview,對於子listview 佔父listview的一行,就解決了問題,但是這樣的邏輯是不是有點奇怪呢?第一,父listview的長度size需要加1,因為增加了一行放子listview pub...