画布FC

时间:2011-05-03 16:30:49

标签: android eclipse drawing android-canvas

我有一个没有错误的绘图画布,但保持强制关闭。我不确定为什么要关闭。我对画布一无所知,如果有人可以说我很棒。

记录猫咪错误

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中找到了此代码。

3 个答案:

答案 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它工作正常。