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 a ProgressDialog is 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/thread/bf046b95cf38832d/1c3bd1f1c0b72569?lnk=gst&q=dismissDialog+orientation#1c3bd1f1c0b72569.
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 the ProgressDialog, 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: {
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setMessage("Loading document...");
return progressDialog;
}
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en