2011-07-24 43 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

你太棒了!我一直在墙上殴打我的头,以解决类似的问题。你的回答告诉我“我们不能引用尚未创建的资源”,这帮助我解决了我的问题。你是我的英雄! (哭泣) –

相关问题