Je suis en train de développer Android et est allé dans un très grave problème:ne peut pas appeler onDraw (de toile Canvas) avec mise à jour()
@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();
}
Le onDraw
ne sera jamais appelé et je ne peux pas trouver le journal dans logcat après que je terminé l'application, mais quand il est en cours d'exécution, je pouvais voir un "onDraw Called" apparaître et disparaître de temps en temps.
Im vraiment désespérée ... J'utilise Android view btw. Un moyen d'appeler la méthode onDraw
? J'ai essayé invalidate();
et aucune chance, s'il vous plaît modifier mon Code :)
Je recherche quelque chose de similaire, mais je suis sûr que la toile .Android ne fonctionne pas comme la toile JS. Pas besoin d'appeler onDraw, il suffit de définir ViewGroup view; view = (ViewGroup) findViewById (R.id.YOURID); view.setWillNotDraw (false); –