所以我有一个ListView,每个列表项中都有几个ImageView。我使用Universal Image Loader加载每个图像。
我想要的是显示一个不确定的进度条微调器(比如在操作栏上),而列表中的所有图像都在加载,当最后一个图像加载时,微调器被隐藏。
我不确定这是否可能,或者是最好的技巧?
感谢。
答案 0 :(得分:3)
试试这个。在适配器中:
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
...
ImageLoadingListener listener = new CombinedImageLoadingListener(3, progressBar);
imageLoader.displayImage(uri1, imageView1, listener);
imageLoader.displayImage(uri2, imageView2, listener);
imageLoader.displayImage(uri3, imageView3, listener);
...
}
这个听众:
class CombinedImageLoadingListener extends SimpleImageLoadingListener {
private int imageCount;
private ProgressBar progressBar;
public CombinedImageLoadingListener(int imageCount, ProgressBar progressBar) {
this.imageCount = imageCount;
this.progressBar = progressBar;
}
@Override
public void onLoadingComplete(Bitmap loadedImage) {
imageCount--;
if (imageCount == 0) {
progressBar.setVisibility(View.GONE);
}
}
}