UI informieren, dass Thread fertig ist

0

0xnull

Neues Mitglied
0
Hallo zusammen,

in meiner onCreate-Methode einer Activity starte ich einen Thread, der einige Berechnungen durchführt - sagen wir 10 Sekunden wartet. In dieser Zeit soll eine ProgressBar angezeigt werden. Nach den 10 Sekunden möchte ich nun die UI irgendwie informieren, dass die ProgressBar aufhören kann, sich zu drehen. Dann können Buttons etc. angezeigt werden. Wie kann ich das machen?

Code:
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);    
        progressBar = (ProgressBar) findViewById(R.id.progressBarMainActivity);
       new Thread(new Runnable() {
            
            @Override
            public void run() {
                try {
                    Thread.sleep(10000);
                    // 10 Sekunden sind vorbei -> in der UI weitermachen
                } catch (InterruptedException e) { 
                }                
            }
        }).run();

}
Kann mir jemand weiterhelfen?
Danke
 
Stichwort "Handler"

Oder aber noch besser AsyncTask, der genau für soetwas gemacht wurde.
 
Hey,

mit der onPostExecute von AsyncTask funktioniert es tatsächlich. Warum darf denn in dieser Methode die UI verändern? Sie läuft ja in einem anderen Thread.

Thx
 
Siehe Doku
Tut sie nicht, das ist ja das schöne ;)
Wenn du langeweile hast guck halt mal in den Quellcode der Klasse dann siehst du vermutlich wie das ganze gelöst wird dort.
 

Ähnliche Themen

U
  • unerfahrenerAppEntwickler
Antworten
3
Aufrufe
702
swa00
swa00
W
  • waltsoft
Antworten
3
Aufrufe
722
waltsoft
W
Zurück
Oben Unten