Java 无法使用update()调用onDraw(画布)

Java 无法使用update()调用onDraw(画布),java,android,android-canvas,ondraw,invalidation,Java,Android,Android Canvas,Ondraw,Invalidation,我目前正在开发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.drawB

我目前正在开发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();
}
@覆盖
受保护的void onDraw(画布){
super.onDraw(帆布);
Log.i(“游戏”,“叫onDraw”);
对于(int i=0;i
onDraw
从未被调用,在我终止应用程序后,我在logcat中找不到日志,但当它运行时,我可以看到一个“onDraw called”偶尔出现并消失


我真的很绝望。。。顺便说一句,我正在使用android view。有没有办法调用
onDraw
方法?我尝试了
invalidate()没有机会,请修改我的代码:)

在将图像传递到drawBitMap方法之前,请尝试将图像作为位图对象

Bitmap bmp = BitmapFactory.decodeResource(
        getResources(), image[egg[i].getEggNum());

我看起来很像,但我确信,Android canvas不像canvas JS那样工作。不需要调用onDraw,只需设置ViewGroup视图;视图=(视图组)findViewById(R.id.YOURID);view.setWillNotDraw(false);