Android: NullPointerException при добавлении ресурсов - PullRequest
0 голосов
/ 24 июля 2011

Я получаю исключение 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;
      }
}

По сути, я пытаюсь загрузить разные спрайты в разные классы, используя метод родительского класса. Но spriteResource не устанавливается, и я не могу понять, почему? Я установил журнал, который возвратил Ресурс как 0. Любые идеи, почему это происходит или как решить это ???

Спасибо

1 Ответ

1 голос
/ 24 июля 2011

Когда createBitmap в thing () пытается присвоить переменной sprite значение, sprite является одним из ее параметров, это означает, что вы пытаетесь использовать sprite до его создания и получаете исключение нулевого указателя.

...