我有一个没有错误的绘图画布,但保持强制关闭。我不确定为什么要关闭。我对画布一无所知,如果有人可以说我很棒。
记录猫咪错误
05-03 10:07:12.803: ERROR/AndroidRuntime(14042): FATAL EXCEPTION: Thread-9
05-03 10:07:12.803: ERROR/AndroidRuntime(14042): java.lang.NullPointerException
05-03 10:07:12.803: ERROR/AndroidRuntime(14042): at android.graphics.Canvas.throwIfRecycled(Canvas.java:954)
05-03 10:07:12.803: ERROR/AndroidRuntime(14042): at android.graphics.Canvas.drawBitmap(Canvas.java:980)
05-03 10:07:12.803: ERROR/AndroidRuntime(14042): at com.the.line.Panel.onDraw(Panel.java:59)
这是我的Panel类的第59行
canvas.drawBitmap(kangoo, 10, 10, null);
05-03 10:07:12.803: ERROR/AndroidRuntime(14042): at com.the.line.CanvasThread.run(CanvasThread.java:28)
这是来自我的CanvasThread类的第28行
_panel.onDraw(c);
如果有帮助,我在教程here中找到了此代码。
答案 0 :(得分:3)
看看Canvas.java
private static void throwIfRecycled(Bitmap bitmap) {
if (bitmap.isRecycled()) {
throw new RuntimeException(
"Canvas: trying to use a recycled bitmap " + bitmap);
}
}
如果位图为空,这将抛出NPE的唯一方法。
你能检查以确保kangoo不为空吗?
答案 1 :(得分:0)
查看更多代码会有所帮助,但根据您链接的教程,看起来您的图像资源不可用。你使用过R.drawable.kangoo
代码还是做了其他的事情?
Bitmap kangoo = BitmapFactory.decodeResource(getResources(),
R.drawable.kangoo);
答案 2 :(得分:0)
我发现问题出在我的setContentView
它被设置为'setContentView(R.layout.main)'巫婆我没有使用任何xml文件,所以当我更改{{1}时} SetContentView
它工作正常。