Proper way of dismissing DialogFragment while application is in background

Sver picture Sver · Feb 17, 2012 · Viewed 22.5k times · Source

I started using DialogFragment, because they are working nicely through orientation changes, and stuff. But there is nasty problem I encountered.

I have AsyncTask that shows progress DialogFragment and dismisses it onPostExecute. Everything works fine, except when onPostExecute happens while application is in background (after pressing Home button, for example). Then I got this error on DialogFragment dismissing - "Can not perform this action after onSaveInstanceState". Doh. Regular dialogs works just fine. But not FragmentDialog.

So I wonder, what is the proper way of dismissing DialogFragment while application is in background? I haven't really worked with Fragments a lot, so I think that I'm just missing something.

Answer

Jiang Qi picture Jiang Qi · Apr 23, 2012

DialogFragment has a method called dismissAllowingStateLoss()