我正在使用Android通用图片加载器使用网址获取图片并将其添加到viewpager。我在viewpager的项目布局中添加了一个进度条,因此每个图像都有一个进度条,并在图像完全加载时将其可见性设置为GONE。但是,似乎进度条仅显示在viewpager的第一个图像上,即使加载了图像也不会消失。
这是我的viewpager适配器:
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageLoader imageLoader = ImageLoader.getInstance();
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_item, container,
false);
ImageView img = (ImageView) itemView.findViewById(R.id.img);
ProgressBar progressBar = (ProgressBar) itemView.findViewById(R.id.progressBar);
imageLoader.displayImage(links[position], img, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingStarted(String s, View view) {progressBar.setVisibility(View.VISIBLE); }
@Override
public void onLoadingFailed(String s, View view, FailReason failReason) { progressBar.setVisibility(View.GONE); }
@Override
public void onLoadingComplete(String s, View view, Bitmap bitmap) { progressBar.setVisibility(View.GONE); }
});
((ViewPager) container).addView(itemView);
return itemView;
}
答案 0 :(得分:1)
我不确定新UIL是否有任何更改或已更新。但下面的工作。确保使用适当的方法
设置微调器的可视性使用以下
public void display(ImageView img, String url, final ProgressBar spinner)
{
imageLoader.displayImage(url, img, options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
spinner.setVisibility(View.VISIBLE); // set the spinner visible
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
spinner.setVisibility(View.GONE); // set the spinenr visibility to gone
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
spinner.setVisibility(View.GONE); // loading completed set the spinenr visibility to gone
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
});
}
然后致电
display(img, links[position], progressBar);