【发布时间】:2016-01-25 14:13:43
【问题描述】:
@Override
public void run() {
Canvas canvas;
while (running) {
canvas = null;
try {
canvas = this.surfaceHolder.lockCanvas();
synchronized (surfaceHolder) {
this.gamePanel.update();
this.gamePanel.render(canvas);
}
} finally {
if (!canvas.equals(null)) { // error is here.
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
}
【问题讨论】:
-
你真的应该发布一些解释和问题,而不是简单地粘贴带有错误消息的代码
-
这是我在 LogCat 中得到的。 01-25 14:25:54.628: E/AndroidRuntime(3357): 致命异常: Thread-197 01-25 14:25:54.628: E/AndroidRuntime(3357): java.lang.NullPointerException 01-25 14:25: 54.628: E/AndroidRuntime(3357): 在 com.zm.atz.Maingame_m1.render(Maingame_m1.java:64) 01-25 14:25:54.628: E/AndroidRuntime(3357): 在 com.zm.atz.Mainthread_m1 .run(Mainthread_m1.java:31)
-
你得到的还不止这些。无论如何,你想要`if(canvas != null)`,因为现在你可能正在调用一个空对象的方法。并且请不要在 cmets 中发布您的 logcat ......它很难阅读。相反,请使用问题中标签下方的编辑按钮将其添加到您的帖子中。
标签: android