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
-~----------~----~----~----~------~----~------~--~---

Reply via email to