2012-08-13 94 views
0

我目前正在開發Android,走進一個很嚴重的問題的onDraw(帆布油畫)與更新():無法調用

@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 btw視圖。任何方式調用onDraw方法?我試圖invalidate();沒有機會,請修改我的代碼:)

回答

0

儘量讓你的位圖對象的圖像將它傳遞給drawBitMap梅索德

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

我找類似的東西之前,但我相信.Android帆布不像帆布JS一樣工作。無需調用onDraw,只需設置ViewGroup視圖; view =(ViewGroup)findViewById(R.id.YOURID); view.setWillNotDraw(false); – 2016-10-26 13:37:20