Android runOnUiThread Erklärung

Ich versuche, Anzeige einer Fortschrittsanzeige während der onCreate () - Methode eines meiner Tätigkeiten die Arbeit zu füllen den Bildschirm erfolgt in einem thread, und dann schließen Sie das Dialogfeld mit dem Fortschritt.

Hier ist mein onCreateMethod()

dialog = new ProgressDialog(HeadlineBoard.this);
        dialog.setMessage("Populating Headlines.....");
        dialog.show();
        populateTable();

Den populateTable Methode enthält mein thread und der code um das Dialogfeld zu schließen, aber für einige Grund. Die Aktivität kommt leer für etwa 10 Sek. (die populateTable() arbeiten), und dann habe ich den Bildschirm sehen. Ich nie sehen, das Dialogfeld angezeigt, irgendwelche Ideen?

Hier ist die populateTable () - code:

//Adds a row to the table for each headline passed in
private void populateTable() {
    new Thread() {
        @Override
        public void run() {
            //If there are stories, add them to the table
            for (Parcelable currentHeadline : allHeadlines) {
                addHeadlineToTable(currentHeadline);
            }
               try {
                     //code runs in a thread
                     runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                dialog.dismiss();
                            }
                     });
               } catch (final Exception ex) {
                   Log.i("---","Exception in thread");
               }
        }
 }.start();

}

InformationsquelleAutor der Frage user1154644 | 2012-06-29

Schreibe einen Kommentar