显示正在加载的多个图像的单个不确定进度条

时间:2013-02-05 23:26:58

标签: android android-progressbar universal-image-loader

所以我有一个ListView,每个列表项中都有几个ImageView。我使用Universal Image Loader加载每个图像。

我想要的是显示一个不确定的进度条微调器(比如在操作栏上),而列表中的所有图像都在加载,当最后一个图像加载时,微调器被隐藏。

我不确定这是否可能,或者是最好的技巧?

感谢。

1 个答案:

答案 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);
        }
    }
}