ConvertView未提供预期结果

时间:2013-01-28 05:08:49

标签: android android-layout android-intent android-widget

我正在传递我的图片资源以使用AsyncTask并从那里更新我的imagesource,这样我一次只能在listview中获得一张图片。

我在不使用convertView的情况下得到了预期的结果,但是当我尝试使用convertview时,结果并不符合我的意愿。请帮我。以下是两种情况的代码:

  1. 没有convertView getView()方法:

    public View getView(int position, View convertView, ViewGroup arg2) {
        ImageView imageView = new ImageView(context);
        imageView.setLayoutParams(new ListView.LayoutParams(
                LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
        if (images[position] != null)
            imageView.setImageResource(images[position]);
        return imageView;
    }
    
  2. 使用convertView getview()方法:

    View v = convertView;
        if (v == null) {
            v = new ImageView(context);
            v.setLayoutParams(new ListView.LayoutParams(
                    LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
    
        }
        if (images[position] != null)
            ((ImageView) v).setImageResource(images[position]);
        return v;
    }                                                                                  
    

1 个答案:

答案 0 :(得分:0)

您还需要发送异步任务代码,另一方面, 试试这个,这适用于我 -

@Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder viewHolder;
            if (convertView == null) {
                viewHolder = new ViewHolder();
                viewHolder.imageView = new ImageView(context);
                convertView.setTag(viewHolder);
            } else
                viewHolder = (ViewHolder) convertView.getTag();

             if (images[position] != null)
            ((ImageView) v).setImageResource(images[position]);

            return convertView;
        }

        class ViewHolder {
            ImageView imageView;
        }