В экземпляре Thread есть метод join, поэтому:
private void onCreate() {
final ProgressDialog dialog = ProgressDialog.show(this, "Please wait..", "Doing stuff..", true);
Thread t = new Thread() {
public void run() {
//do some serious stuff...
dialog.dismiss();
}
};
t.start();
t.join();
stepTwo();
}
Вы можете попробовать это, хотя:
private void onCreate() {
final ProgressDialog dialog = ProgressDialog.show(this, "Please wait..", "Doing stuff..", true);
Thread t = new Thread() {
public void run() {
//do some serious stuff...
SwingUtilities,invokeLater(new Runnable() {
public void run() {
dialog.dismiss();
}
});
stepTwo();
}
};
t.start();
}
Поскольку onCreate находится в потоке пользовательского интерфейса, имеющего соединениеТам будет зависать пользовательский интерфейс до завершения onCreate, сохраняя любой диалог до тех пор.stepTwo
должен будет использовать SwingUtilities.invokeLater
для любых изменений пользовательского интерфейса.