Odliczanie czasu, po wciśnięciu buttona

0

Witam,
Jestem początkującym "programistą" Nie potrafię sobie poradzić z odliczaniem czasu po akcji OnClick
Po załączeniu przycisku chcę, po 2 sekundach wyłączyć kontrolkę na buttonie w C było by to _delay_ms(1000);
w Javie nawet nie wiem jak zacząć. Proszę o pomoc, wskazówki, to mój kod

 led1.setOnClickListener(new View.OnClickListener() {
			public void onClick(View v) {
				String message = "1";
                byte[] send = message.getBytes();
				if(ledStat1){
			                ledStat1=false;
                                                led1.setChecked(false);
                                               }
				else{
				       ledStat1=true;
					        led1.setChecked(true);

                                       tu chciałbym odliczyć 2 sekundy
                                                  
                                                led1.setChecked(false)
                                                          
                          write(send);
}
0

Thread.sleep(2000) - to polecenie usypia aktualnie wykonywany wątek na 2000 milisekund.

0

Ale to takie mało eleganckie Thread.sleep

stwórz sobie klasę dziedziczącą po TimerTask, w głównej aktywności stwórz timer w i wywołaj klasę dziedziczącą po timer task
timer.schedule(task, delay);
ładnie i elegancko :)

czyli w twoim przypadku

 led1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String message = "1";
                byte[] send = message.getBytes();
                if(ledStat1){
                            ledStat1=false;
                                                led1.setChecked(false);
                                               }
                else{
                       ledStat1=true;
                            led1.setChecked(true);
 
                                      timer=new Timer();
                                      timer.schedule(new TT(), 2000)  
                                               
 
                          write(send);
}

//////////////////////////

class TT extends TimerTask {

@Override
	public void run() {
 led1.setChecked(false);
}
}

pzdr

1 użytkowników online, w tym zalogowanych: 0, gości: 1