2010-12-09 646 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可繪製(對於具有可選狀態的按鈕),而不是實際的圖像。這很愚蠢。