我目前正在开发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视图顺便说一句。有什么方法可以调用onDraw
方法吗?我试过invalidate();
但没有机会,请修改我的代码:)
答案 0 :(得分:0)
尝试将图像作为BitMap对象传递给drawBitMap方法
Bitmap bmp = BitmapFactory.decodeResource(
getResources(), image[egg[i].getEggNum());