2013-12-02 1 views
0

Используя этот метод я могу установить задержку в действие я хочу сделать:Отображение обратного отсчета в тосте из метода postDelayed?

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
    //Do something after 5 seconds 
    } 
}, 5000); 

Есть ли способ, чтобы отобразить обратный отсчет этого 5 секунд в тосте? Спасибо

+0

использовать таймер для отображения обратного отсчета –

+0

есть ли у вас пример? –

+0

http://writecodeeasy.blogspot.in/2012/08/androidtutorial-timer-p1.html –

ответ

3

Если вы имеете в виду, что они складываются, вызывая задержку, вы должны отменить предыдущий тост перед показом нового.

Если вы хотите что-то больше фантазии вы можете попробовать использовать PopupWindow вместо того, чтобы показать обратный отсчет времени, у вас есть больше свободы для компоновки и т.д.

http://developer.android.com/reference/android/widget/PopupWindow.html

Это ответ на кого-то еще: https://stackoverflow.com/a/15174370/2767703


Пример:

Toast toast = Toast.makeText(this, "10", Toast.LENGTH_SHORT); 
toast.show(); 
new CountDownTimer(10000, 1000) { 
     public void onTick(long m) { 
      long sec = m/1000+1; 
      toast.cancel(); 
      toast.setText("" + sec); 
      toast.show(); 
     } 
     public void onFinish() { 
      // Finished 
     } 
    }.start(); 
+0

Мне нужно что-то, что, когда я нажимаю кнопку, отображается «обратный отсчет» того, сколько секунд осталось до действия, которое я хочу сделать. Пример: я нажимаю кнопку и появляется тост с обратным отсчетом от 5 секунд до 1, а затем начинает действие. –

1

Да сделайте следующее

новый CountDownTimer (30000, 1000) {

public void onTick(long millisUntilFinished) { 
    Log.i("seconds remaining: " ,""+ millisUntilFinished/1000); 
} 

public void onFinish() { 
    Log.i("Timer Finished"); 
} 

} .start();

+0

mmh, это показывает мне только '5' .. Через 5 секунд я вижу в журнале« 5 ».. Но у меня нет обратного отсчета. –

+0

@David_D проверить обновленный ответ – Aamirkhan

+0

И остальная часть моего кода? Где я могу это сказать? –