Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 毕加索没有';当手机处于脱机状态且无法加载图像时,请不要呼叫OneError_Android_Android Imageview_Picasso - Fatal编程技术网

Android 毕加索没有';当手机处于脱机状态且无法加载图像时,请不要呼叫OneError

Android 毕加索没有';当手机处于脱机状态且无法加载图像时,请不要呼叫OneError,android,android-imageview,picasso,Android,Android Imageview,Picasso,我用毕加索实现了图像加载。我希望它显示一个进度条,同时从URL加载图像。加载时,进度条将隐藏。如果不能,我希望它显示错误图像,甚至隐藏进度条 但是如果没有网络连接,它就不会调用OneError,并且进度条始终可见 public class PicassoShowImageHideProgressBarCallback extends Callback.EmptyCallback { private ImageView mImageView; private ProgressBar

我用毕加索实现了图像加载。我希望它显示一个进度条,同时从URL加载图像。加载时,进度条将隐藏。如果不能,我希望它显示错误图像,甚至隐藏进度条

但是如果没有网络连接,它就不会调用OneError,并且进度条始终可见

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,那么就不需要启动毕加索呼叫