講師回答 / hyman
首先ViewHolder中的mConvertView并沒有使用static修飾。其次,ViewHolder.get方法是根據(jù)傳入的convertView是否為null,而決定是去構(gòu)造一個ViewHolder還是返回與當(dāng)前convertView對應(yīng)的ViewHolder。convertView與ViewHolder是對應(yīng)的,并不會造成混亂。
2015-05-20
講師回答 / hyman
SparseArray中存儲的都是View,存圖片的路徑?jīng)]有意義,存ImageView的id也就失去了ViewHolder pattern的意義。
2015-05-16
講師回答 / hyman
ViewHolder里面存儲了與Item布局對應(yīng)的相關(guān)控件了哈~~和傳統(tǒng)的ViewHolder模式其實(shí)是一樣的,所以如果出現(xiàn)復(fù)用的問題按照傳統(tǒng)方式解決即可。此外該課程中沒有涉及到多布局,不過我在github添加了多布局的支持https://github.com/hongyangAndroid/base-adapter-helper ,可以借鑒自行添加。
2015-05-09
講師回答 / hyman
和傳統(tǒng)的adapter方式并無多大卻別,在convert方法中編寫即可。 更新數(shù)據(jù)集依然是notifyDataSetChanged()、notifyDataSetInvalidated()。
2015-05-06
講師回答 / hyman
holder沒有必要抽取成接口的,本例的目的是實(shí)現(xiàn)"一個"萬能的ViewHolder實(shí)例,也就說只有一個實(shí)例。如果在實(shí)現(xiàn)上有多個不同的實(shí)現(xiàn)類,抽取接口或者抽象類才有意義。
2015-04-30