显示循环读取的第一个图像

时间:2015-08-14 02:38:51

标签: java android imageview

我想显示用户输入的字母的相应图像。但问题是,循环重复显示已读取的第一个图像。

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;
}

但是它会显示最后一个相应的图像,这个循环是否已经开启

0 个答案:

没有答案