Great, exactly what I was looking for! However, at first blush, I see a potential race condition if the thread finishes and sends its message after onDestroy() but before onCreate() -- then the managed dialog will never be dismissed. Am I wrong?
Spiros On Dec 16 2008, 12:21 pm, "Dianne Hackborn" <[email protected]> wrote: > You can't call .dismiss() after onDestroy() of an activity. In the case of > an orientation switch, the previous activity will be destroyed and a new > instance created; after the previous instance is destroyed, its window and > all windows it created are removed from the window manager, and the next > instance will need to take care of re-adding them. > > If you are using managed dialogs, most of the work to deal with this should > be done for you, you just need to make sure that you don't do anything with > an old dialog after the onDestroy() call. The easiest way to do this is > probably to have the main thread handle all of the dialogs, create a Handler > on that thread that is NOT an inner class of the Activity, but just has a > pointer to the current Activity, and clear that pointer in onDestroy() and > set in in onCreate(). Now when another thread wants to dismiss the dialog, > it can send a message requesting this from the handler, and the handler > simply grabs the Activity pointer and if non-null, gets the Dialog pointer > from it and dismisses it if there is one. > > > > On Mon, Dec 15, 2008 at 8:44 AM, Al Sutton <[email protected]> wrote: > > > A code snippet which prevents an "java.lang.IllegalArgumentException: > > View not attached to window manager" being thrown when .dismiss() is > > called on a progress dialogue box which is on screen when the device > > changes orientation. > > > Thanks, > > > Al. > > > -- > > ====== > > Funky Android Limited is registered in England & Wales with the > > company number 6741909. The registered head office is Kemp House, > > 152-160 City Road, London, EC1V 2NX, UK. > > > The views expressed in this email are those of the author and not > > necessarily those of Funky Android Limited, it's associates, or it's > > subsidiaries. > > -- > Dianne Hackborn > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time to > provide private support. All such questions should be posted on public > forums, where I and others can see and answer them. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

