Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:添加资源时出现NullPointerException_Android_Resources_Bitmap_Nullpointerexception_Sprite - Fatal编程技术网

Android:添加资源时出现NullPointerException

Android:添加资源时出现NullPointerException,android,resources,bitmap,nullpointerexception,sprite,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),(s

当运行这段代码时,我得到一个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的日志。你知道为什么会发生这种情况或者如何解决吗


感谢

当createBitmap in thing()尝试为sprite变量赋值时,sprite是它的in参数之一,这意味着您正在尝试在创建sprite之前使用它,您会得到一个空指针异常。

您太棒了!我一直在为一个类似的问题绞尽脑汁。您的回答建议我“我们不能引用尚未创建的资源”,这帮助我解决了我的问题。你是我的英雄!(抽泣)