Mi piacerebbe sapere se è possibile utilizzare handler(). Postdelayed due volte?Android: utilizzare il gestore post.delayed due volte
Voglio dire, voglio creare un pulsante, che quando cliccato cambia colore e resta in questo stato 1 secondo, quindi, dopo 1 secondo un altro pulsante cambia colore.
ho creato il seguente codice:
Nella 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);
}
Credo che il problema è in CheckAnswer perché sembra non è così fermati in questo postDelayed e passa al waitAnswer.
Grazie
Grazie per la risposta, ma non capisco: se il secondo eseguibile viene eseguito dopo che il primo termina perché non cambia il btn in verde come il codice nella classe checkAnswer? Salta questo passo no? – loading27
il tuo secondo Runnable è vuoto. checkAnswer cambia colore in verde, quindi accoda il rettangolo vuoto, quindi imposta la risorsa di sfondo, quindi non lo vedrai in verde – msh
Sì, ma ho pensato se impostare il colore su verde e creare una coda vuota di 500 ms, quindi impostare di nuovo lo sfondo, vedo verde 500 ms. – loading27