我试图在我的一项活动的 onCreate() 方法期间显示进度对话框,完成在线程中填充屏幕的工作,然后关闭进度对话框。
这是我的 onCreateMethod()
dialog = new ProgressDialog(HeadlineBoard.this);
dialog.setMessage("Populating Headlines.....");
dialog.show();
populateTable();
populateTable 方法包含我的线程和关闭对话框的代码,但出于某种原因。活动出现空白大约 10 秒(执行 populateTable() 工作),然后我看到屏幕。我从来没有看到显示的对话框,有什么想法吗?
这是 populateTable() 代码:
//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();
}