Android:添加资源时出现NullPointerException
当运行这段代码时,我得到一个NullPointerExceptionAndroid:添加资源时出现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
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之前使用它,您会得到一个空指针异常。您太棒了!我一直在为一个类似的问题绞尽脑汁。您的回答建议我“我们不能引用尚未创建的资源”,这帮助我解决了我的问题。你是我的英雄!(抽泣)