In my activity, I call a MyDialog (custom dialog) in onCreate() and handle its DismissListener in Activity to find if its cancelled or not. If its cancelled, I finish the activity, else load the activty. During this loading time, I want to show a Alert/Progress dialog to let the user know that its loading, please wait. But am not able to see the dialog. This is how I have coded :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ld = new AgreeDialog(this);
ld.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
if (ld.isCancelled)
MyActivity.this.finish();
else {
//ProgressDialog pd = CreateLoadingDialog();
//pd.show();
//Log.i(TAG, "Before Load Is PD showing - " + pd.isShowing()); // Shows true
/*
AlertDialog.Builder adb = new AlertDialog.Builder(StartUltimate.this);
adb.setTitle("Loading...");
adb.setCancelable(false);
AlertDialog ad = adb.create();
ad.show();
*/
MyActivity.this.showDialog(0);
LoadAfteAgree(); // This takes time sonetimes, so want a dialog while this is working
MyActivity.this.removeDialog(0);
//ad.dismiss();
// pd.dismiss();
//Log.i(TAG, "After Load Is PD showing - " + ad.isShowing()); // Shows false
}
}
});
@Override
protected Dialog onCreateDialog(int id) {
switch(id) {
case 0:
loadingDlg = new ProgressDialog(this);
loadingDlg.setMessage("Loading...");
loadingDlg.setCancelable(false);
loadingDlg.setIcon(R.drawable.icon);
return loadingDlg;
}
return null;
}
Why am I not able to see any dialog in any way ? I tried calling them in LoadAfterAgree() also, but there also no success, same results.
Any help is highly appreciated.
Thanks
you're performing your long operations in UI thread. Move them to the AsyncTask's doInBackground method. See the example here.
To stop your dialog causing any memory leaks, ensure the following is included in your activity;
AlertDialog _alert;
@Override
public void onPause() {
super.onPause();
if(_alert != null)
_alert.dismiss();
}
来源:https://stackoverflow.com/questions/5755980/want-to-display-alertdialog-in-oncreate-of-activity-android