【发布时间】:2014-05-08 17:48:48
【问题描述】:
我正在尝试使用以下代码在 gridview 上使用 Universal Image Loader 从 Internet 加载图像。
public View getView(int position, View converView, ViewGroup parent) {
Log.v("Description", "Description is " + position);
ViewHolder mVHolder;
if (converView == null) {
LayoutInflater vi = (LayoutInflater) conted.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
converView = vi.inflate(R.layout.customgrid, null);
mVHolder = new ViewHolder();
mVHolder.mImageView = (ImageView) converView
.findViewById(R.id.imgview);
mVHolder.mTextView1 = (TextView) converView
.findViewById(R.id.textView1);
mVHolder.mTextView2 = (TextView) converView
.findViewById(R.id.textView2);
mVHolder.mTextView3 = (TextView) converView
.findViewById(R.id.textView3);
converView.setTag(mVHolder);
} else {
mVHolder = (ViewHolder) converView.getTag();
}
// mVHolder.mImageView.setImageResource(mThumbIds[position]);
// mVHolder.mImageView.setImageDrawable(LoadImageFromURL(
// mThumbIds[position]));
imageLoader.displayImage(mThumbIds[position],mVHolder.mImageView,options, animationListener);
Log.v("Names",NAMES[position] + STATES[position] + CONSTITUENCY[position]);
mVHolder.mTextView1.setText(NAMES[position]);
mVHolder.mTextView2.setText(STATES[position]);
mVHolder.mTextView3.setText(CONSTITUENCY[position]);
return converView;
}
但是,当我在列表中向下滚动时,第一行的第一个图像似乎在大多数网格中重复出现。它不会一直停留 - 一段时间后它会变回原始图像。我的问题是,这是 gridview 上的视图膨胀或 Universal Image Loader 的图像加载的问题吗?
【问题讨论】:
-
这里的 imageLoader 是什么?
-
@user3431672,imageloader是通用图片加载器github.com/nostra13/Android-Universal-Image-Loader
-
看来和适配器有关。只是为了测试,尝试删除视图的回收并查看图像是否正确显示。它会很慢,滚动会很慢。但它应该让我们知道我们在哪里有问题。那么我们应该可以很好地调试了。
标签: android image gridview universal-image-loader