Android開發之關於listview中getView()調用兩遍的問題

糾結了很久,在網上找了一些資料,發現是listview這個控件的layout_width被我設置成了wrap_content,只需要將其修改成match_parent即可

原因

當我們設置成wrap_content的時候,系統在繪製界面的時候,並不確定listView的實際height,這個時候需要加載一次getView()方法,來計算實際的height,注意,系統只會創建一個item,由此一個item,和listView中需要顯示的個數來計算,listView實際的height,等確定listView實際的height後,再去創建實際需要的item,也就出現getView()被調用了兩遍的情況了

這裏還是建議大家能夠將listView的height儘量設置爲match_parent,這樣可以優化繪製的速度和app的運行效率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章