2012-05-03 13 views
3

ビットマップを内部ストレージまたはインターネットから取得します。 ImageViewで表示しようとすると、別のエミュレータのバージョンで動作しますが、私のGalaxy S I9000では動作しません。ビットマップは単に表示されません。ImageViewが実際のデバイス上にビットマップを表示しない

protected void onPostExecute (Bitmap bmp) { 
    progressBar.setVisibility(View.INVISIBLE); 
    if (bmp != null) { 
     imageView.setImageBitmap(bmp); 
     imageView.setVisibility(View.VISIBLE); 
    } 
} 
+1

を表示するには私を助けるために、このメソッドを使用していました。ログキャストでエラーがないか確認してください。 – zapl

+0

bmpがnullではなく、ログキャストエラーがありません。 – user1373733

+0

bmpのnullチェックをコメントアウトするとどうなりますか? –

答えて

3

これは、OpenGLで2400x2400を超えるテクスチャを受け入れない可能性が高いです。クラッシュは発生しませんが、ImageViewにビットマップを表示しないと失敗します。

ビットマップのサイズが両方のディメンションで2400より小さく、サイズが大きい場合は、ビューに設定する前にサイズを変更する必要があります。

0

私はおそらく `bmp`は` null`なのである画像

public static Drawable ToDrawable(Resources r, byte[] encodedString) 
    { 
     if (encodedString == null) 
      return null; 

     Bitmap bmp = BitmapFactory.decodeByteArray(encodedString, 0, encodedString.length); 
     Drawable drawable = new BitmapDrawable(r, bmp); 
     // bmp.recycle(); 
     return drawable; 

    } 
関連する問題