That should work, so long as MyAsyncTask is a static inner class or a regular standalone public class (not a non-static inner class). See:
http://github.com/commonsguy/cw-android/tree/master/Rotation/RotationAsync/ On Sun, Sep 12, 2010 at 12:47 PM, davemac <[email protected]> wrote: > So we could use something as simple as the following? > > �...@override > public Object onRetainNonConfigurationInstance() { > return myAsyncTask; > } > > And in onCreate(): > > if( (myAsyncTask = > (MyAsyncTask)getLastNonConfigurationInstance()) != null) > myAsyncTask.setContext(this); // Give my AsyncTask the new > Activity reference > > I added a setContext() method to MyAsyncTask which resets a local > member to be used in the on* callbacks to do UI work. I made > MyAsyncTask a completely separate class from my Activity class, and > the constructor requires a Context. This seems to work, and it seems > pretty easy to do. I realize that an AsyncTask has no chance of being > restarted the way a Service does if it comes to an untimely death. But > from the comments in this thread, I'm assuming that my Activity will > get a valid reference to the AsyncTask when it is restarted by a > Configuration Change. Yes? > > - dave > > On Sep 10, 1:05 pm, Dianne Hackborn <[email protected]> wrote: >> On Fri, Sep 10, 2010 at 9:53 AM, Maps.Huge.Info (Maps API Guru) < >> >> [email protected]> wrote: >> > What if that AsyncTask is downloading a file? Interrupting it, >> > regardless of how nicely done, would be a bad thing wouldn't it? >> >> You don't need to interrupt it. See Mark's option 2. Just don't have it >> tied to a specific activity instance. >> >> If you want to have it associated logically with the activity, you can use >> onRetainNonInstanceState() to transfer it between instances. (Though this >> is intended as an optimization, and if you rely on this then you likely >> won't get the proper semantics in other cases -- for example if the user >> leaves your app and returns to it later it could easily get killed while in >> the background and thus lose the active download. In fact you would also >> have this same problem if you use android:configChanges for many of the same >> reasons.) >> >> -- >> 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, and so won't reply to such e-mails. 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 > -- Mark Murphy (a Commons Guy) http://commonsware.com | http://github.com/commonsguy http://commonsware.com/blog | http://twitter.com/commonsguy Android Training...At Your Office: http://commonsware.com/training -- 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

