鍍金池/ 問答/Java  Scala  Android  網(wǎng)絡(luò)安全/ Android中動(dòng)態(tài)加載listview,bindView重復(fù)執(zhí)行n次

Android中動(dòng)態(tài)加載listview,bindView重復(fù)執(zhí)行n次

做一個(gè)動(dòng)態(tài)加載數(shù)據(jù)的ListView,因?yàn)锳ndroid原生的listview高度不能自動(dòng)調(diào)節(jié),所以重寫了onMeasure方法

clipboard.png

布局文件

clipboard.png

加載數(shù)據(jù)的方法

clipboard.png

在做的時(shí)候發(fā)現(xiàn)dietIds的數(shù)量不對(duì),后來測(cè)了一下發(fā)現(xiàn)是每個(gè)item項(xiàng)bindView重復(fù)執(zhí)行了6次(也就是item布局中綁定的子控件個(gè)數(shù))。

在網(wǎng)上查了下,

此問題在于,ListView沒有取到實(shí)際的高度,無法確定取多少View來填充ListView,也就是運(yùn)行g(shù)etView()的具體運(yùn)行次數(shù)。 應(yīng)該把listiview在布局文件中的高度設(shè)置為:fill_parent

有沒有辦法讓bindView只執(zhí)行一次?

回答
編輯回答
檸檬藍(lán)

不用onMeasure,高度提前計(jì)算出來應(yīng)該就可以了。

2017年6月6日 21:53