2010-12-09 91 views
11

我正在从View对象中的内部资源加载位图(源本身位于“可绘制”文件中)。BitmapFactory.decodeResource返回空值

代码:

import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.util.AttributeSet; 
import android.view.View; 


public class BannerView extends View { 



private Bitmap m_Banner = null; 

public BannerView(Context context, AttributeSet attributeSet) { 
    super(context, attributeSet); 

    m_Banner = BitmapFactory.decodeResource(getResources(), R.drawable.banner); 

} 
} 

为什么m_Banner值为null?

预先感谢您

了Kobi

回答

3

请确保所有的SDK其它的组件(如Eclipse中,Android的SDK,SDK插件为月食都是最新的)。

4

Eclipse项目 - >清洁帮助我的情况。

4

我也有同样的问题,但我发现如果我把图片放入drawable-ldpi,它工作正常。我不知道为什么,但这对我有效。

1

当我使用jpeg图像文件时,我得到了空白。但是,当我将它转换为PNG,然后在相同的地方使用它正确工作

-1

调用BitmapFactory.decodeResource时检查选项参数。它是此方法的第三个参数,必须设置为false以返回位图。

0

我的问题是我使用的是R.drawable.clickCamera,但clickCamera实际上是一个XML可绘制(对于具有可选状态的按钮),而不是实际的图像。这很愚蠢。