K3NN3TH
K3NN3TH

Reputation: 1496

Android Dialog open before running Thread.sleep(1000) loop

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

Answers (1)

ρяσѕρєя K
ρяσѕρєя K

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

Related Questions