Android Studio - Button ändert Farbe erst nach Delay?

dummycoders

Neues Mitglied
Hallo!

Wir haben ein kleines Problem mit unserer Quiz App.
Wir wollen bei einer richtigen/falschen Antwort den Button
in einer an die Antwort angepasste Farbe färben.

rot = falsch
grün = richtig

Code: https://pastebin.com/HkvhsbUY

Wenn wir jetzt auf ein richtiges klicken, dann ändert sich die Farbe erst
nach dem Delay. Was machen wir falsch?
 

Robat

Top Contributor
Thread.sleep() legt den kompletten Thread lahm.
Nutzt lieber einen Handler für delays
Java:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
   @Override
   public void run() {
       // mach was nach 3s
   }
},3000);

BTW: Strings vergleicht man mit equals und nicht mit == ;)

Edit: in manchen Szenarien verursacht diese Variante memory leaks. Sollte das so sein muss der Handler und der Runnable als statische innere Klasse implementiert werden.
 
Zuletzt bearbeitet:

dummycoders

Neues Mitglied
Thread.sleep() legt den kompletten Thread lahm.
Nutzt lieber einen Handler für delays
Java:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
   @Override
   public void run() {
       // mach was nach 3s
   }
},3000);

BTW: Strings vergleicht man mit equals und nicht mit == ;)

Edit: in manchen Szenarien verursacht diese Variante memory leaks. Sollte das so sein muss der Handler und der Runnable als statische innere Klasse implementiert werden.

Wir haben den selben Code grade gefunden, trotzdem Danke! :)
 

mrBrown

Super-Moderator
Mitarbeiter
Edit: in manchen Szenarien verursacht diese Variante memory leaks. Sollte das so sein muss der Handler und der Runnable als statische innere Klasse implementiert werden.
Wodurch kommt denn da das Memory-Leck zustande?
Das runnable wird nicht aufgeräumt und die umgebende Klasse deshalb auch nicht?
 

Robat

Top Contributor
Naja grundsätzlich basiert die Aussage auf Erfahrungswerten.. War selbst mal auf dieses Problem gestoßen.
Nach längerem suchen bin ich dann auf eine Variante mit der statsichen Klasse gestoßen.
Wenn ich mich nicht irre aus folgenden Gründen (Berichtige mich falls ich falsch liege)
Es wird eine anonyme, nicht statische innere Klasse benutzt die implizit eine Referenz auf die äußere Klasse (die Activity) hält. Das wird dann zum Problem wenn der context der Activity vom GC gefressen wird.

Beim nachlesen bin ich gerade hier drauf gestoßen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Android Studio - Hintergrundmusik Spiele- und Multimedia-Programmierung 3
Excess Ballerfisch für Android Spiele- und Multimedia-Programmierung 3
T Welche packages aus der java api doku ist hilfreich zur Android Spieleprogrammierung Spiele- und Multimedia-Programmierung 2
L LibGDX - Verschiedene Layouts bei Android / Desktop Spiele- und Multimedia-Programmierung 1
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
T Android-App-Programmierung? Spiele- und Multimedia-Programmierung 3
T Android App Spiele- und Multimedia-Programmierung 2
T Android App Absturz beim Starten Spiele- und Multimedia-Programmierung 41
Flo. android java tastatureingaben abfangen. Spiele- und Multimedia-Programmierung 1
B Probleme mit AndEngine in Android Spiele- und Multimedia-Programmierung 1
T opengl und Android.... Spiele- und Multimedia-Programmierung 3
T Android Spielvorstellung / Beta Tester gesucht Spiele- und Multimedia-Programmierung 5
K [Spielvorstellung] - Spoony Fish - (Android) Spiele- und Multimedia-Programmierung 3
K Android: OpenGL render performance Tipps ? Spiele- und Multimedia-Programmierung 4
P Mein Android Game Spiele- und Multimedia-Programmierung 3
X Android Slick AE Anmation Spiele- und Multimedia-Programmierung 2
X Android Slick AE Image Pfad Spiele- und Multimedia-Programmierung 3
X Slick in Android Apps einsetzten Spiele- und Multimedia-Programmierung 6
K [Spielevorstellung] - Range Racer - (Android) Spiele- und Multimedia-Programmierung 35
T Android OpenGL Bewegen Spiele- und Multimedia-Programmierung 5
A Music für Android game Spiele- und Multimedia-Programmierung 3
K Video-Streaming / Android Spiele- und Multimedia-Programmierung 3
Guybrush Threepwood Erfahrungsbericht Android Market Spiele- und Multimedia-Programmierung 11
R Memory - Nicht alle Button lassen sich aktivieren? Spiele- und Multimedia-Programmierung 1
H Make a cooldown on a button? Spiele- und Multimedia-Programmierung 1
H Change color on button event Spiele- und Multimedia-Programmierung 2
G [LibGDX] Button Klick Probleme Spiele- und Multimedia-Programmierung 1
J mehrere Listener für einen Button / Label Spiele- und Multimedia-Programmierung 1
X LWJGL - Anklick baren Button erstellen aber wie? Spiele- und Multimedia-Programmierung 6
S Button soll verschiedene panel zufällig durchschalten Spiele- und Multimedia-Programmierung 14
M Mathetrainer - Reset Button funktioniert nicht! Spiele- und Multimedia-Programmierung 8
A Button ausblenden Spiele- und Multimedia-Programmierung 3
P JOGL Button-klick-Problem Spiele- und Multimedia-Programmierung 2
B Problem : Button-Klick bewirkt nichts Spiele- und Multimedia-Programmierung 4
K Button eigenschaften bearbeiten Spiele- und Multimedia-Programmierung 20
B Animation durch Button auslösen Spiele- und Multimedia-Programmierung 2
K Würfel vergrößern und verkleinern per Button Spiele- und Multimedia-Programmierung 7
G Warten auf Button-Aktion in Schleife? Spiele- und Multimedia-Programmierung 7

Ähnliche Java Themen

Neue Themen


Oben