Android 毕加索没有';当手机处于脱机状态且无法加载图像时,请不要呼叫OneError
我用毕加索实现了图像加载。我希望它显示一个进度条,同时从URL加载图像。加载时,进度条将隐藏。如果不能,我希望它显示错误图像,甚至隐藏进度条 但是如果没有网络连接,它就不会调用OneError,并且进度条始终可见Android 毕加索没有';当手机处于脱机状态且无法加载图像时,请不要呼叫OneError,android,android-imageview,picasso,Android,Android Imageview,Picasso,我用毕加索实现了图像加载。我希望它显示一个进度条,同时从URL加载图像。加载时,进度条将隐藏。如果不能,我希望它显示错误图像,甚至隐藏进度条 但是如果没有网络连接,它就不会调用OneError,并且进度条始终可见 public class PicassoShowImageHideProgressBarCallback extends Callback.EmptyCallback { private ImageView mImageView; private ProgressBar
public class PicassoShowImageHideProgressBarCallback extends Callback.EmptyCallback {
private ImageView mImageView;
private ProgressBar mProgressBar;
private static final String TAG = "PicassoShowImageHidePro";
public PicassoShowImageHideProgressBarCallback(ImageView imageView,
ProgressBar progressBar) {
mImageView = imageView;
mProgressBar = progressBar;
}
@Override
public void onSuccess() {
mImageView.setVisibility(View.VISIBLE);
mProgressBar.setVisibility(View.GONE);
}
@Override
public void onError() {
mProgressBar.setVisibility(View.GONE);
}
}
@BindView(R.id.poster_image)
ImageView mImageView;
@BindView(R.id.pb_progress_loading)
ProgressBar mProgressBar;
Picasso.with(mContext).load(path).error(R.drawable.ic_error).into(mImageView,
new PicassoShowImageHideProgressBarCallback(mImageView, mProgressBar));
请查看上述关于同一问题的链接。@Anuragagarwal我看过这篇文章,但我不想使用图像缓存,alias,我想,但是当缓存中没有图像时,我想隐藏进度条并显示错误图像。您的
R.drawable.ic_error
是否加载到ImageView中?我以这种方式实现时从未见过它。我只在不使用回调时看到它。它不起作用。。。永远不会调用onError方法。我以前尝试过它。private boolean isNetworkAvailable(){ConnectivityManager ConnectivityManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo activeNetworkInfo=ConnectivityManager.getActiveNetworkInfo();return activeNetworkInfo!=null&&activeNetworkInfo.isConnected();}您可以使用它来检查设备是联机还是脱机。如果它是offlne,那么就不需要启动毕加索呼叫