Android:添加资源时出现NullPointerException

时间:2011-07-24 11:29:11

标签: android resources bitmap nullpointerexception sprite

运行这段代码时,我得到一个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;
      }
}

基本上我正在尝试使用父类的方法将不同的sprite加载到不同的类中。但spriteResource没有设置,我不明白为什么? 我设置了将资源返回为0的日志。任何想法为什么会发生这种情况或如何解决它?

由于

1 个答案:

答案 0 :(得分:1)

当thing()中的createBitmap尝试为sprite变量赋值时,sprite是其in-parameters之一,这意味着您在创建sprite之前尝试使用sprite并获得空指针异常。 / p>