第一種方法:
重寫listview的onmeasure方法
public
class
childlistview
extends
listview
public
childlistview(context context, attributeset attrs, int defstyle)
public
childliistview(context context, attributeset attrs)
@override
protected
void
onmeasure(int widthmeasurespec, int heightmeasurespec)
}
第二種方法計算父listview的高度,不然子listview只會顯示乙個item。此方法不需要重寫listview,直接在介面卡中新增如下**:
/**
*@param listview 此方法是本次listview巢狀listview的核心方法:計算parentlistview item的高度。
* 如果不使用此方法,無論innerlistview有多少個item,則只會顯示乙個item。
**/public
void
setlistviewheightbasedonchildren(listview listview)
int totalheight = 0;
for (int i = 0, len = listadapter.getcount(); i < len; i++)
viewgroup.layoutparams params = listview.getlayoutparams();
params.height = totalheight + (listview.getdividerheight() * (listadapter.getcount() - 1));
listview.setlayoutparams(params);
}
解決ListView巢狀ListView遇到的問題
listview巢狀會造成的問題主要是子listview的高度錯誤導致內容不能正常顯示完,解決這個問題,我個人第乙個想法就是重新計算子listview的高度,如下 private void setlistviewheightbasedonchildren listview listview int ...
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...