ListView與BaseAdapter的優化

BaseAdapter需要實現4個方法

  • getCount:適配器中的數據集的個數
  • getItemId:獲取指定的id
  • getItem:獲取數據集中指定索引的Item
  • getView獲取每一個Item的顯示內容,是核心方法

對Adapter中的getView方法進行優化

getView有三個傳入變量:

  • int position //指定的哪一個Item內容
  • View convertView //如果是已經回收的View,該參數會返回回收的View
  • ViewGroup parent

getView方法的優化方法

  • 在BaseAdapter類中創建一個ViewHolder類,ViewHolder類包含ListView佈局的控件,用ViewHolder來存放ListView佈局控件,避免重複的findViewById操作
  • 判斷convertView參數是否爲空:
    • 如果爲空:說明該View沒有被回收過
      • 創建ViewHolder
      • 實例化convertView對象,用Inflate方法將佈局文件轉化爲View對象並對其實例化
      • 調用convertView的setTag方法讓convertView與viewHolder進行綁定
    • 如果不爲空
      • convertView的getTag方法,取出viewHolder對象
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章