- Forum-Beiträge: 40
28.02.2011, 15:23:09 via Website
28.02.2011 15:23:09 via Website
ich habe mir eine GraphicsActivity angelegt. In dieser Activity habe ich meinen View (SampleView) angelegt.
Nun habe ich die onDraw Methode der View überschrieben und lasse mir ein Spielfeld auf meinen Bildschrim zeichnen. Funktioniert ohne Probleme.
Nun möchte ich gerne mit einem MainLoop (Thread) in einem bestimmten Intervall wieder die onDraw Methode ausführen.
Ich habe schon einiges versucht, leider bin ich noch nicht zum gewünschen Ergebnis gekommen.
Fall (1)
Ich habe mir mein View (SampleView) als Globale Variable in der Activity "gemerkt" und rufe in dem Thread "meinView.invalidate()" auf. -> Nichts passiert.
Fall (2)
Ich habe mir einen Handler angelegt und diesen an den Thread übergeben. Im Thread sende ich eine "emptyMessage()" an den Handler, welcher dann meinView.invalidate() aufruft. -> Nichts passiert.
Beende ich den MainLoop, werden nach und nach die gesendeten Events von dem Handler bearbeitet, aber eben nur zu spät.
Kann mir jemand vllt sagen, wie der richtige Weg aussieht, oder was ich falsch gemacht habe? Der MainLoop besitzt auch noch eine sleep ;o)
Vielen dank.
hibbert
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.