2017-03-06 6 views
3

Ich habe versucht, mit Progressbar im Android Studio zu arbeiten. Was ich wollte, war einfach, dass ich, wenn ich auf den Button der MainActivity klicke, auf eine neue Aktivität namens "Progress" abziele. Meine Aktivitäten sind hier:Warum wird Fortschrittsbalken in Android Studio nicht angezeigt?

MainActivity.java:

MainActivity.java

und Progress.java:

Progress.java

Meine App läuft, aber keine progressbar Bewegung zeigt. Was soll ich tun, um die Fortschrittsbalken 30 Sekunden lang anzuzeigen? Ich mache in der Zwischenzeit nichts. Ich möchte nur 30 Sekunden lang eine Fortschrittsanzeige sehen.

+2

bitte Code anzeigen. – Remario

+0

Ich habe ein Bild in meiner Frage.Pls prüfen @Caspain Caldion – suptagni

+0

Layout für den Fortschrittsbalken – Remario

Antwort

1

1000 ist zu klein für Schleife aber dieser Code tun, was Sie wollen:

//Set visible progres bar 
findViewById(R.id.progress_bar).setVisibility(View.VISIBLE); 

     //Timer in your case 30 sek 
     int timer = 30*1000; 

     //create handler 
     final Handler handler = new Handler(); 

     //set handler delayed     
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 

     //Hidden progress bar 
     findViewById(R.id.progress_bar).setVisibility(View.INVISIBLE); 

     //your toast 
     Toast.makeText(this,"your msg",Toast.LENGTH_LONG).show(); 

     //start new activity 
     startActivity(your intent) 
      } 
     }, timer); 
    } 
+0

Wow! es funktioniert :) Können Sie mir bitte sagen, wie kann ich eine Toast-Nachricht zeigen, nachdem die Zeit abgelaufen ist und die Absicht zu einer neuen Aktivität? @Grzegorz – suptagni

+0

Code bearbeiten alles, was Sie wollen – Grzegorz

+0

Vielen Dank. es ist wirklich hilfreich :) @Grzegorz – suptagni

1

mPrograssStatus bis 100 in sehr kurzer Zeit zunimmt. Sie müssen warten, zum Beispiel versuchen, dies in einer Schleife zu Ihrem Code hinzufügen, während:

SystemClock.sleep(300); 

Wert in Klammern Anzahl von Millisekunden, dieses System ist in Ihrem Fall wartet, ist es 300 von 30 Sekunden zu erhalten. Sie müssen auch Bibliothek importieren:

import android.os.SystemClock; 
+0

gefrorenen UI-Thread ist eine schlechte Lösung – Grzegorz

+0

Danke @ Michał Tartanus für Ihre Antwort. Ich habe schon die Lösung :) – suptagni

Verwandte Themen