我正在使用listView處理Android應用程序,並且正在優化它。它在一個活動中使用了一個自定義的遊標適配器,並且我注意到bindview()爲列表的每一行觸發了兩次。在研究這裏的BindView()和NewView()方法的同時,我在一篇文章中讀到,對於我的listview寬度來說Wrap_Content是一個糟糕的主意。我把它切換到Fill_Parent和中提琴現在bindview()和newview()每個只爲每個項目觸發一次。爲什麼Wrap_Content會多次觸發BindView
爲了能更好地理解Andorid OS的內部,我想知道爲什麼Wrap_Content會導致bindview()多次觸發。
我已經在谷歌上做了幾次搜索,android開發人員的文檔和這裏沒有運氣。
任何迴應真的很感激。
謝謝, 喬治
正確,我昨天回答了類似的問題(http://stackoverflow.com/questions/6557240/expandablelist-getchildview-running-twice-per-child/6557284#6557284)。視頻/時間在那裏提供。 – dmon
是的,這是正確的。出於測量目的,ListView有時會調用適配器的getView。不保證任何調用getView的結果將被放置在屏幕上,或者最近的getView調用與當前正在顯示的內容完全相關。 – adamp
謝謝你的答案Glendon。正是我在找什麼。 –