Reputation: 1496
I am trying to open a dialog
box before it runs a method in dosubmit()
with a Thread.sleep(1000)
loop that is checking for the result of a RunnableFuture
.
It seems overriding the setOnShowListener
is not working.
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();
}
What other approach can I use?
Upvotes: 0
Views: 266
Reputation: 132982
Instead of using Thread.sleep(1000)
use Handler.postDelayed()
to call dosubmit();
after 1000 as:
public void onShow(DialogInterface dialog) {
Handler handler=new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
handler.removeCallbacksAndMessages(null);
dosubmit();
}
}, 1000);
}
Upvotes: 2