【BUG解決】ListView getView()多次調用 -----ActivityGroup導致!?

最近做的ActivityGroup實現底部menu(iPhone一樣的)

其中一個頁面裏是一個自定義的Listview,發現getView方法被調用了多次!有時甚至上百次··暈!

網上很多帖子都說是height設置成fill就可以,但事實不是的!


我是這樣猜想的:1.listView中的getView調用的次數,我們一般是不可控制的。因爲ListView控件 我們用的畢竟是google的。

2.實際測試中發現不把這個ListView放在ActivityGroup中就沒有問題,所以我猜想這是ActivityGroup導致的,估計是因爲由於ActivityGroup中的內容是動態佈局。使得listView初始化時高度不確定(因爲底部有menu),多次計算高度所導致的!


這確實很影響效率,而且大部分我們還要異步加載其中的圖片,這就更是讓用戶感覺不爽了。我不知道用其他方式實現底部menu按鍵條的方法是否有這種情況所以寫出來,希望大家討論下,大家多多幫忙~

http://androiddada.iteye.com/

問題已經解決,貌似gruop裏面的子頁面 不管你設置了多少的寬高,都會被設置爲wrap,所以這裏比較噁心。我們需要爲子頁面的xml佈局中 再加入個layout(至於什麼樣的佈局 跟你情況而定)設置它的寬高。一定要設置成xxdip 固定長度。這樣纔可以!直接設置子頁面layout的寬高是無效的,因爲是子頁面,加載這頁是系統仍然會認爲他是wrap。所以,我們必須在裏面再加入一個layout 撐開它! 最後,我們可以根據不同屏幕的大小動態設置這個layout的寬高!

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