0

私は現在Androidを開発していて、非常に深刻な問題に直面しました:

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Log.i("GAME", "onDraw Called");
    for(int i = 0; i < totalEggNumbers -1; i++) {
        if (egg[i].isKilled = false)
        canvas.drawBitmap(image[egg[i].getEggNum()], egg[i].getX(), egg[i].getY() + 100, paint);
        Log.i("GAME", "Something Drawn");
    }
}

// called by thread
public void update() {
        //Chance to make egg
    Log.i("GAME", "Updated Game");
    eggMaker.randomEgg(difficulty);
    postInvalidate();
}

アプリを終了した後、onDraw決して呼び出されず、logcatのログインを見つけることができませんが、アプリを実行しているときに、1つの「onDrawCalled」が表示されたり消えたりすることがありました。

私は本当に必死です...私はアンドロイドビューところで使用しています。メソッドを呼び出すonDraw方法はありますか?私は試しましたinvalidate();が、チャンスはありません。コードを変更してください:)

4

1 に答える 1

0

drawBitMap メソッドに渡す前に、イメージを BitMap オブジェクトとして作成してみてください。

Bitmap bmp = BitmapFactory.decodeResource(
        getResources(), image[egg[i].getEggNum());
于 2012-08-13T18:52:26.553 に答える