Listview巢狀Listview的實現方法

2021-07-24 13:24:20 字數 1087 閱讀 7773

第一種方法:

重寫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...