Ich würde gerne wissen, ob es möglich ist, handler() zu verwenden. Postdelayed zweimal?Android: use handler post.delayed zweimal
Ich meine, ich möchte eine Schaltfläche erstellen, die beim Klicken die Farbe ändern und in diesem Zustand bleiben 1 Sekunde, dann nach 1 Sekunde ändern Sie eine andere Schaltfläche die Farbe.
Ich habe den folgenden Code erstellt:
Im OnClickListener:
btn3.setBackgroundColor(Color.WHITE);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
checkAnswer();
waitAnswer();
btnRsp3.setBackgroundResource(R.drawable.selector);
}
}, 1000);
CheckAnswer:
public void CheckAnswer(){
btn1.setBackgroundColor(Color.GREEN);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
}
}, 500);
btn1.setBackgroundResource(R.drawable.selector);
}
denke ich, das Problem auf CheckAnswer ist, weil es so scheint es nicht Stoppen Sie in diesem postDelayed und treten Sie zum waitAnswer.
Danke
Vielen Dank für Ihre Antwort, aber ich verstehe nicht: Wenn die zweite Runnable ausgeführt wird, nachdem die erste beendet wird, warum ändert es nicht die Btn zu grünen Farbe wie ich Code in checkAnswer-Klasse? Es überspringt diesen Schritt nicht? – loading27
Ihre zweite Runnable ist leer. checkAnswer ändert die Farbe in grün, stellt dann ein leeres Rechteck in die Warteschlange und setzt die Hintergrundressource, so dass sie nicht grün erscheint – msh
Ja, aber ich dachte, wenn ich die Farbe auf grün setze und eine leere Warteschlange von 500 ms anlege, Ich sehe grün 500 ms. – loading27