【发布时间】:2013-01-28 05:08:49
【问题描述】:
我正在传递我的图片资源以使用 AsyncTask 并从那里更新我的图片源,以便我一次只能在我的列表视图中获取一张图片。
我在不使用 convertView 的情况下得到了预期的结果,但是当我尝试使用 convertview 时,结果并不如我所愿。请帮我。以下是这两种情况的代码:
-
没有 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; } -
使用 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; }
【问题讨论】:
-
你得到什么结果..?
-
两种情况下最终显示的图像相同。但中间结果不同。第一个显示的图像一直显示到最后,即最后消失了。
-
尝试将您的 Asynctask 实现粘贴到编辑部分。您提供的代码 sn -p 不足以猜测可能导致问题的原因。
-
返回视图前,用v初始化转换视图;像这样 convertView=v;返回 v;
标签: android android-layout android-intent android-widget