所以我們要找到辦法來利用convertView的這個特性。

    首先解決convertView重復創(chuàng)建的問題。

    我們可以先判斷convertView是否為null,如果為null,再重新創(chuàng)建。

if(convertView == null){
   convertView = LayoutInflater.from(context).inflate(R.layout.item_pratice, null);
}

    這解決了convertView重復創(chuàng)建的問題。

    當我們要使用布局中的組件時,會先通過findViewById來聲明組件,這在一般的頁面中沒問題,但如果是一個列表,就有問題了。

    findViewById是很浪費時間的。

    findViewById要遍歷View的樹形結(jié)構(gòu)來找到對應(yīng)的id,而且這個遍歷是從頭到尾,所以如果該View的層級比價復雜,這個查詢就比較耗時了。

    我們在布局文件中采用@+id的形式指定控件id,就會在R文件中生成一個id,也可以采用@id的形式,通過在ids文件中聲明一個id。

網(wǎng)友評論