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 中找到日志,但是当它运行时,我可以看到一个“onDraw Called”出现并偶尔消失。

我真的很绝望......我正在使用android view btw。有什么方法可以调用该onDraw方法吗?我试过invalidate();了,没有机会,请修改我的代码:)

4

1 回答 1

0

尝试将您的图像作为 BitMap 对象,然后再将其传递给 drawBitMap 方法

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