我想显示用户输入的字母的相应图像。但问题是,循环重复显示已读取的第一个图像。
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.activity_list, null, true);
ImageView imageView = (ImageView)rowView.findViewById(R.id.img);
if (convertView == null) {
convertView = inflater.inflate(R.layout.activity_list, parent, false);
}
for (int loop = 0; loop < ALPHA.length; loop++) {
for (int j = 0; j < alphaSplit.length; j++) {
if (alphaSplit[j] == ALPHA[loop]) {
imageView.setImageResource(ICONS[loop]);
}
}
}
return rowView;
}
这已经改变了我的观点
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.activity_list, null);
holder = new Holder();
holder.imageView = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
for (int loop = 0; loop < alphaSplit.length; loop++) {
for (int j = 0; j < ALPHA.length; j++) {
if (alphaSplit[loop] == ALPHA[j]) {
holder.imageView.setImageResource(ICONS[j]);
}
}
}
return convertView;
}
但是它会显示最后一个相应的图像,这个循环是否已经开启