關於listview的效率提公升的方式,參考第一行**:
1、判斷getview傳入的convertview是否為null,如果不為null則直接使用convertview例項。
convertview是當listview中子項被移除螢幕外時,系統通過列表快取該子項布局的檢視例項,當需要顯示新的子項時,會傳給它介面卡的getview()方法,就可以直接使用該檢視例項,而不再通過layoutinflater.inflate()來載入xml檔案的方式返回檢視例項、繪製檢視。
2、通過viewholder物件來持有子項布局下所有子控制項的物件,並且利用convertview的settag()方法來儲存viewholder例項,這樣通過convertview傳遞給下乙個子項,下乙個子項可以通過convertview例項的gettag()來直接獲取viewholder(同時也是convertview對應的子項控制項例項),這樣就不需要convertview用findviewbyid()來獲取子控制項例項(findviewbyid()影響效率),最後對子控制項物件設定屬性。
Android ListView優化總結
用多了listview之流 今天小朋友問這個問題時一時還無法回答全面 特此總結。listview多用於顯示具有相同格式之資料,包含的資料型別也極為豐富,聲音 文字等等。流程為,listview找到使用的介面卡,介面卡在逐個例項化,例項化後顯示,資料處理和adapter處理比較關鍵。就資料來說文字倒是...
Android ListView重新整理 載入
網上有現成的框架,pulltorefresh。不過專案裡不可能全部用到,顯得有些臃腫,在此用了xlistview,大同小異。無非就是重寫了listview中的ontouch方法,新增兩個控制項兒 headerview和footerview,新增乙個介面 重新整理和載入。這樣清晰了思路,再整理 就簡單...
Android ListView 問題彙總
listview 問題彙總 1.item 中的check view 選中混亂 listview 快取機制導致的。解決方案可以是 在adapter裡的getview方法裡先呼叫holder.cbiamge.setoncheckedchangelistener方法,再呼叫holder.cbiamge.s...