2012-02-04 21 views
5

次のコードを使用して、BitmapをDrawableに変換しています。私が使用しているビットマップをDrawableに変換すると、何も表示されません。

MemoryCache memoryCache = new MemoryCache(); 
Bitmap bitmap = memoryCache.get(thumbnail); 
Drawable drawable = (Drawable)new BitmapDrawable(bitmap); 

MemoryCacheがLazyListプロジェクトからのものであり、私は、ビットマップを使用しますが、私はそれが描画可能なために変換するとき、それは、画像の代わりに何を示していないとき、それが正常に動作します。

このライン

+0

を使用してみてくださいとあった

を発見しました。 –

+0

階層ビューを使用してそれをデバッグしてみてください。 –

答えて

16

変更を助けてください:へ

Drawable drawable = (Drawable)new BitmapDrawable(bitmap); 

Drawable drawable = new BitmapDrawable(getResources(), bitmap); 

BitmapDrawable(Bitmap bitmap)コンストラクタが廃止されていることに注意してください(source)と上記の呼び出しを使用しては明らかにそれを取得保証します適切なターゲット密度で正しく設定してください。

+0

これは素晴らしい情報です。最初の引数として 'getResources()'を指定しなければ、画面の濃度が違うと画像サイズの矛盾が発生していました。ありがとうございました! – suomi35

0

問題は、実際に問題が

MemoryCache memoryCache = new MemoryCache(); 
Bitmap bitmap = memoryCache.get(thumbnail); 
3

このDrawableの描画可能=新しいBitmapDrawable(ビットマップ)をしようと、次の

Drawable d = new BitmapDrawable(bitmap); 
関連する問題