我正在尝试打开dialog
框,然后在dosubmit()
中运行一个方法,其中Thread.sleep(1000)
循环正在检查RunnableFuture
的结果。
似乎压倒setOnShowListener
无效。
private void dosubmitdialog(){
mDialogloading = new ProgressDialog(mActivity);
mDialogloading.setCanceledOnTouchOutside(false);
mDialogloading.setCancelable(false);
mDialogloading.setMessage("Uploading data ...");
mDialogloading.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
dosubmit();
}
});
mDialogloading.show();
}
我可以使用其他什么方法?
答案 0 :(得分:2)
而不是使用Thread.sleep(1000)
使用Handler.postDelayed()
在1000之后调用dosubmit();
:
public void onShow(DialogInterface dialog) {
Handler handler=new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
handler.removeCallbacksAndMessages(null);
dosubmit();
}
}, 1000);
}