我正在开发Android应用程序,其中我有一个登录按钮onclick它将从一个线程中的Internet获取一些数据并在下一页显示。虽然它正在获取数据我正在显示一个对话框showin ga message“Loading ....”但是当我点击按钮时线程在后台执行但它没有显示对话框:(页面看起来像是被攻击了。这里是我正在使用的代码片段。
showdialog();
//**********************
Thread t = new Thread(){
public void run(){
new Downloader().DownloadHandler();
}
};
t.start();
t.join();
_dialog.cancel();
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
}
public void showdialog()
{
_dialog = ProgressDialog.show(this, "Loading.....", "Please wait, we are on job.", true);
}
请分享是否有其他更好的方式来实现相同/或任何其他最佳方式向用户显示内容即将发布。 请告诉我他们是否还有其他更好的。
答案 0 :(得分:0)
未显示
t.join();
使用join
暂停ui线程并让它等到t完成执行。您应该使用另一种方法,例如,您可以实现委托模式,通知UI线程,您的线程已完成其执行,以及您要关闭对话框并启动新活动。