我正在尝试学习 Android 编程。而且我找不到这个算法的解释:
public View getView(int r, View convertView, ViewGroup parent) {
ViewHolder holder = null;
// Si la vue n'est pas recyclée
if(convertView == null) {
// On récupère le layout
convertView = mInflater.inflate(R.layout.item, null);
holder = new ViewHolder();
// On place les widgets de notre layout dans le holder
holder.mNom = (TextView) convertView.findViewById(R.id.nom);
holder.mNumero = (TextView) convertView.findViewById(R.id.numero);
holder.mPhoto = (ImageView) convertView.findViewById(R.id.photo);
// puis on insère le holder en tant que tag dans le layout
convertView.setTag(holder);
} else {
// Si on recycle la vue, on récupère son holder en tag
holder = (ViewHolder)convertView.getTag();
}
// Dans tous les cas, on récupère le contact téléphonique concerné
Contact c = (Contact)getItem(r);
// Si cet élément existe vraiment…
if(c != null) {
// On place dans le holder les informations sur le contact
holder.mNom.setText(c.getNom());
holder.mNumero.setText(c.getNumero());
}
return convertView;
}
- 为什么作者检查 convertView 是否为空,如果不是?
- 请问在这种情况下 ViewHolder 模式需要什么?
有人可以帮我理解吗?
提前致谢。