将Bitmap转换为Drawable后不显示任何内容

6
我正在使用以下代码将位图转换为Drawable。
MemoryCache memoryCache = new MemoryCache();
Bitmap bitmap = memoryCache.get(thumbnail);
Drawable drawable = (Drawable)new BitmapDrawable(bitmap); 

我所使用的MemoryCache来自LazyList项目,当我使用位图时它能正常工作,但当我将其转换为可绘制对象时,图片显示为空白。请帮忙解决。

尝试使用以下代码:Drawable drawable=new BitmapDrawable(bitmap); - ilango j
请尝试使用HierarchyView进行调试。 - Frank Cheng
3个回答

18

修改这一行代码:

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

收件人:

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

需要注意的是,BitmapDrawable(Bitmap bitmap) 构造函数已经被弃用 (),使用上述调用显然可以确保它以正确的目标密度设置。


这是一条很棒的信息。如果不将“getResources()”指定为第一个参数,我会在不同屏幕密度下遇到图像大小不一致的问题。谢谢! - suomi35

3

尝试使用以下方法:

Drawable d = new BitmapDrawable(bitmap);

0

发现问题

实际上问题出在

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接