2016-04-22 22 views
0

をボレー私はアニメーションをスケーリング起動したとき、私は、NetworkImageview画像がNetworkImageviewに添付されていますか?アンドロイド

holder.imgPostPic.setImageUrl(model.Uri, imageLoader); 
holder.imgPostPic.setDefaultImageResId(R.drawable.im_home_no_internet); 

私の問題

にいくつかのスケーリングのアニメーションを表示し、私はNetworkImageview

を使用したネットワークからロードするイメージのため、Volleyを使用していますDefaultImageResIdはスケーリングを開始しますが、これは望ましくありません。私は

私はアニメーションがイメージがそれをしないZomato appようNetworkImageviewにロードされている場合にのみ開始したい欲しいもの

私のコード

imageLoader.get(model.Uri, new ImageLoader.ImageListener() { 
         @Override 
         public void onResponse(ImageLoader.ImageContainer response, boolean isImmediate) { 
           if (response != null) { 
             if (response.getBitmap() != null) { 
               animate1(myBucketListViewHolder, true); 
             } 
           } 
         } 
         @Override 
         public void onErrorResponse(VolleyError error) { 
         } 
       }); 

任意のネットワークがない場合は、それにキャッシュされたビットマップのためのバレーボールチェックを呼び出す前に、私はいつもこのコードこのコードでは

click here

答えて

0

NULLビットマップを取得していますデフォルトイメージを設定するヌルビットマップコンテナを設定します。

final String cacheKey = getCacheKey(requestUrl, maxWidth, maxHeight, scaleType); 
    // Try to look up the request in the cache of remote images. 
      Bitmap cachedBitmap = mCache.getBitmap(cacheKey); 
      if (cachedBitmap != null) { 
       // Return the cached bitmap. 
       ImageContainer container = new ImageContainer(cachedBitmap, requestUrl, null, null); 
       imageListener.onResponse(container, true); 
       return container; 
      } 

      // The bitmap did not exist in the cache, fetch it! 
      ImageContainer imageContainer = 
        new ImageContainer(null, requestUrl, cacheKey, imageListener); 

      // Update the caller to let them know that they should use the default bitmap. 
      imageListener.onResponse(imageContainer, true); 

あなたは常に、少なくとも1つのヌルビットマップ応答を持っている理由です。

ビットマップの値が1つしかない場合、onErrorResponseでチェックできる他の(おそらくネットワーク)エラーがあります。

関連する問題