I had taken a look at onSaveInstanceState, but it is called before the activity is destroyed. Note that I also tried to call dismissDialog in onPause *before* the call to super.onPause in case the default implementation of onPause was saving the state of managed dialogs. I can certainly switch over to using unmanaged dialogs, but I would be curious to know which callback is called before managed dialog state is stored.
Thanks for the reply! On Mar 9, 9:38 pm, Kostya Vasilyev <kmans...@gmail.com> wrote: > Removing the dialog in onPause is too late, because by that time the > managed dialogs have been alerady saved (around the time of > onSaveInstanceState callback). > > If you don't want the dialog to persist through orientation changes, > don't use a managed dialog. > > Create one without calling showDialog, save the reference as an instance > variable of your activity, and dismiss it in onPause. > > -- Kostya > > 10.03.2011 3:57,Shriпишет: > > > > > I am seeing that aProgressDialogis persisting after a screen > > rotation, even though I am calling dismissDialog in the onPause > > method. I do know that a new Activity is created after the screen > > rotation and I have read threads like > >http://groups.google.com/group/android-developers/browse_thread/threa.... > > However, my scenario is simpler in that there is no background task > > which holds onto the old Activity. Any ideas? > > > Thanks > >Shri > > > package com.shri.helloandroid; > > > import android.app.Activity; > > import android.os.Bundle; > > import android.app.ProgressDialog; > > import android.app.Dialog; > > import android.view.View; > > > public class MainActivity extends Activity { > > private static final int DIALOG_LOADING_DOCUMENT = 0; > > > @Override > > public void onCreate(Bundle savedInstanceState) { > > super.onCreate(savedInstanceState); > > setContentView(R.layout.main); > > } > > > @Override > > public void onPause() { > > // dismissDialog(DIALOG_LOADING_DOCUMENT); > > super.onPause(); > > dismissDialog(DIALOG_LOADING_DOCUMENT); > > } > > > // > > // Click the button to start theProgressDialog, and then rotate the > > screen. I expect the dialog to be > > // dismissed as onPause gets called when the current Activity is > > being destroyed, and it calls dismissDialog. > > // However, I see that the dialog persists after the screen > > rotation. > > // > > public void onClick(View view) { > > showDialog(DIALOG_LOADING_DOCUMENT); > > } > > > @Override > > protected Dialog onCreateDialog(int id) { > > switch (id) { > > case DIALOG_LOADING_DOCUMENT: { > > ProgressDialogprogressDialog= newProgressDialog(this); > > progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); > > progressDialog.setMessage("Loading document..."); > > returnprogressDialog; > > } > > default: > > return super.onCreateDialog(id); > > } > > } > > } > > -- > Kostya Vasilyev --http://kmansoft.wordpress.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en