2017-01-16 3 views
0

Picasaで画像を読み込む実装があります。 URLから画像をロードする際に進捗バーが表示されます。読み込み中は、進行状況バーは表示されません。できない場合は、代わりにエラーイメージを表示し、ProgressBarを非表示にします。電話がオフラインで、画像を読み込めないときにPicasaがonErrorを呼び出さない

しかし、ネットワークに接続されていないと、onErrorを呼び出すことはなく、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)); 
+0

http://stackoverflow.com/questions/33885561/does-picasso-library-for-android-handle-image-loading-while-network-connectivity –

+0

@AnuragAggarwal私はこの投稿を見ましたが、私はしませんイメージキャッシュ、エイリアスを使用したいと思いますが、キャッシュにイメージがない場合は、プログレスバーを隠してエラーイメージを表示します。 – alexpfx

+0

'R.drawable.ic_error'がImageViewに読み込まれますか? –

答えて

0

Does Picasso library for Android handle image loading while network connectivity is off?

同じ問題に関する上記のリンクをご覧ください。

+0

動作しません... onErrorメソッドは呼び出されません。私はそれを前に試しました。 – alexpfx

+0

プライベートboolean isNetworkAvailable(){ ConnectivityManager connectivityManager =(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo!= null && activeNetworkInfo.isConnected(); }デバイスをオンラインまたはオフラインにすることができます。その場合、ピカソコールを開始する必要はありません –

関連する問題