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をスローする唯一の方法は、ビットマップがnullの場合です。

カングーがヌルでないことを確認できますか?

于 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 に答える