【发布时间】:2014-08-18 19:08:01
【问题描述】:
我想在下载时在我的自定义适配器中显示一个进度条!
有我的适配器类
public class ImageAdapter extends BaseAdapter {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = ((Activity) context).getLayoutInflater().inflate(layoutResourceId, parent, false);
holder.pictureView = (GalerieImageView) convertView.findViewById(R.id.GalerieView);
holder.progressBar = (ProgressBar) convertView.findViewById(R.id.progressBarGalerie);
holder.progressBar.setVisibility(View.VISIBLE);
holder.progressBar.setIndeterminate(true);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ImageLoader imageLoader = ImageCacheManager.getInstance().getImageLoader();
if (arrayList.get(position).getTurl() != null) {
Log.i("lien", "" + arrayList.get(position).getTurl());
holder.pictureView.setImageUrl(arrayList.get(position).getTurl(), imageLoader);
holder.pictureView.setVisibility(View.VISIBLE);
holder.pictureView.setDefaultImageResId(R.drawable.ico_loading);
holder.pictureView.setErrorImageResId(R.drawable.ico_error);
holder.pictureView.setLayoutParams(new RelativeLayout.LayoutParams(imageWidth, imageWidth));
holder.pictureView
.setResponseObserver(new GalerieImageView.ResponseObserver() {
@Override
public void onError() {
holder.progressBar.setVisibility(View.GONE);
}
@Override
public void onSuccess() {
holder.progressBar.setVisibility(View.GONE);
}
});
} else {
//holder.pictureView.setVisibility(View.GONE);
}
return convertView;
}
}
My Custom Networkview with Observer (GaleryImageView) 它基于this StackOverFlow answer。我无法显示进度条。
【问题讨论】:
-
请不要使用
ticks来格式化每一行。只打算使用 4 个空格的代码,它的格式正确。 -
您的代码似乎是正确的。您的布局似乎有误,您要发布吗?
标签: android android-progressbar android-volley custom-adapter