2011-07-24 70 views
0

通過使用父類的方法運行的代碼安卓:NullPointerException異常,同時增加資源

abstract class thing extends Drawable(){ 
    Bitmap sprite; 
    int spriteResource; 

    public thing(){ 
      setResources(); 
      sprite=Bitmap.createBitmap(sprite,src.left,src.top,(src.right-src.left),(src.bottom-src.top),m,true); 
    } 

    @Override 
    public void draw(Canvas c){ 
    bit= Bitmap.createBitmap(sprite,0,0,45, 45);// Generates the exception 
    c.drawBitmap(bit, x, y, null); 
    } 

    abstract void setResource(); 
} 

class otherThing extends thing(){ 
    @Override 
     public void setResource(){ 
     spriteResource=R.drawable.otherThing_sprite; 
     } 
} 

基本上我試圖加載不同的精靈分成不同的類此位時,我得到一個NullPointerException異常。但是spriteResource沒有設置,我不明白爲什麼? 我設置了返回資源爲0的日誌。任何想法爲什麼會發生這種情況或如何解決它?

感謝

回答

1

當createBitmap的事情()正試圖給精靈變量的值,雪碧是其參數,這意味着你要使用精靈被創建之前,你會得到一個空指針異常。

+0

你太棒了!我一直在牆上毆打我的頭,以解決類似的問題。你的回答告訴我「我們不能引用尚未創建的資源」,這幫助我解決了我的問題。你是我的英雄! (哭泣) –

相關問題