我发现的GridView导向上显影剂机器人:https://developer.android.com/guide/topics/ui/layout/gridview.html的Android BaseAdapter getView
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
“在getView()方法的结束时,传递给该方法的位置整数被用于选择从mThumbIds阵列的图像,它被设置为ImageView的图像资源。“
我对此感到困惑。
为什么我们每次都需要调用setImageResource而不是仅在convertView为null时调用它?不应该convertView如果不是空已经有图像资源集,像填充,规模设置等
// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
// if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
imageView.setImageResource(mThumbIds[position]);
} else {
imageView = (ImageView) convertView;
}
return imageView;
}