Why is there no cancel button in Android's progress dialogs?

后端 未结 5 1508
傲寒
傲寒 2021-02-13 22:56

I\'m facing a head-scratching moment similar to what this person (from Jan 2008) experienced when I realized that there is no cancel button in Android\'s progress dialog or spin

5条回答
  •  天命终不由人
    2021-02-13 23:29

    not sure about the whole cancel button...i've heard reports of the onCancel() method not firing properly. my solution just consists of making a normal button on the dialog with a call to return whenever the button is pressed.

    private void createCancelProgressDialog(String title, String message, String buttonText)
    {
        cancelDialog = new ProgressDialog(this);
        cancelDialog.setTitle(title);
        cancelDialog.setMessage(message);
        cancelDialog.setButton(buttonText, new DialogInterface.OnClickListener() 
        {
            public void onClick(DialogInterface dialog, int which) 
            {
                // Use either finish() or return() to either close the activity or just the dialog
                return;
            }
        });
        cancelDialog.show();
    }
    

    then just use a simple call method from elsewhere in your activity

    createCancelProgressDialog("Loading", "Please wait while activity is loading", "Cancel");
    

    rather simple solution, but it does the trick ;) also just to note that cancelDialog is an activity wipe variable, if you dont need to call it from elsewhere, then you should be able to get away with just limiting the scope of the variable to that method.

提交回复
热议问题