我试图ProgressDialog
在用户界面上显示五秒钟以阻止 UI,以便我的 locationClient 可以在五秒钟后连接。
我正在关闭对话框。但对话框根本不显示,手机屏幕变黑 3-4 秒。发生这种情况是因为我正在运行此代码UiThread
吗?如果是的话,我可以按照他们的任何其他方法停止 5 秒钟,然后执行待处理的代码。
我的线程代码如下:
public void startConnecting(final boolean isSearchWarnings) {
mProgressDialog = ProgressDialog.show(this, "Please wait","Long operation starts...", true);
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
for (int i = 0; i <= 5; i++) {
try {
if (mLocationClient.isConnected()) {
break;
} else {
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
mProgressDialog.dismiss();
if (isSearchWarnings) {
new getWarnings().execute(false);
} else {
new getWarnings().execute(true);
}
}
});
}