1

我有一个没有错误但保持强制关闭的绘图画布。我不确定为什么要强制关闭。如果有人能帮助我,我对画布一无所知,那就太好了。

记录猫错误

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);

如果有帮助,我从这里的教程中找到了这段代码。

4

3 回答 3

3

查看 Canvas.java

private static void throwIfRecycled(Bitmap bitmap) {
    if (bitmap.isRecycled()) {
        throw new RuntimeException(
                    "Canvas: trying to use a recycled bitmap " + bitmap);
    }
}

抛出 NPE 的唯一方法是位图为空。

你能检查以确保 kango 不为空吗?

于 2011-05-03T16:41:58.553 回答
0

查看更多代码会有所帮助,但根据您链接到的教程,您的图像资源似乎不可用。您使用了R.drawable.kangoo代码还是做了其他事情?

Bitmap kangoo = BitmapFactory.decodeResource(getResources(),
                            R.drawable.kangoo);
于 2011-05-03T16:39:29.727 回答
0

我发现问题出在我setContentView的设置为'setContentView(R.layout.main)'女巫我没有使用任何xml文件,所以当我改变它SetContentViewsetContentView(new Panel(this,null));它工作正常。

于 2011-05-04T03:32:02.280 回答