2017-07-10 4 views
0

ich diesen Code gemacht habenWie zeigen Toast Zählung vor dem Transfer nach unten auf eine andere Tätigkeit-Android Studio

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      final Intent mainIntent = new Intent(MainActivity.this, EnterData.class); 
      MainActivity.this.startActivity(mainIntent); 
      MainActivity.this.finish(); 
     } 
    }, 7000); 

, wie ich die Zählung zeigen nach unten von Toast? zum Beispiel habe ich diese Zählung 7 Sekunden, bevor auf eine andere Seite gehen i Toast Dialog zeigen müssen 7.6.5.4 Zählen, etc dann

Dank übertragen

+0

einfach verwenden Countdown-Timer –

+0

verwenden wollen Sie ein einzelner Toast den Countdown oder mehrere Toast zeigen mit einer Nummer in jedem? – Yazan

Antwort

0

Sie einen CountDownTimer

private CountDownTimer countDownTimer = new CountDownTimer(7000, 1000) { 
     @Override 
     public void onTick(long millisUntilFinished) { 
      Toast.makeText(context, String.valueOf(millisUntilFinished/1000), Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onFinish() { 
      final Intent mainIntent = new Intent(MainActivity.this, EnterData.class); 
      MainActivity.this.startActivity(mainIntent); 
      MainActivity.this.finish(); 
     } 
    }; 

Irgendwo Sie fühlen verwenden sollten Sie können die Zählung folgendermaßen starten:

countDownTimer.start(); 
0

Verwenden Sie einen zweiten Handler, der den Countdown für Sie ausführt.

dies für einen statischen Variable Countdown erstellen, wie in MainActivity.java folgt

private static int countdown = 7; 

Diese im neuen Handler verwendet werden kann, den Toast für den Countdown zu zeigen.

Halten Sie auch Ihren Handler, der die Absicht erstellt und starten Sie es nach 7 Sekunden.

0

Sie können timerClass erstellen, wie unten

class SayCount extends TimerTask { 
public void run() { 
if(i == 0) { 
    timer.stop(); 
    } 
    System.out.println(String.valueOF(i)); 
    i--; 
} 
} 


// And From your main() method or any other method 
int i = 7; 
Timer timer = new Timer(); 
timer.schedule(new SayCount(), 0, 1000); 

oder können Sie Runnable() Klasse, die als Antwort oben

Verwandte Themen