I just noticed that my workaround is not actually working. I did the following inside my Animal's CREATOR.createFromParcel:
className = source.readString(); a = (Animal) Class.forName(className).newInstance(); a.readFromParcel(source); Now a has the right type (so Cat or Dog), but somehow still Animal.readFromParcel() is called. Aren't methods supposed to be "virtual" by default? On Jul 15, 4:11 pm, Bart van Wissen <[email protected]> wrote: > > My current workaround is as follows: > - In each specific Animal subtype's writeToParcel() method, I write > the class name as a String into the Parcel as the first element. > - In the Animal's CREATOR.createFromParcel() I read the first String > out of the parcel, and based on that I create the appropriate type and > call the appropriate readFromParcel() method. > > I think this is kind of ugly though. I would expect the android > framework to take care of this for me. > > (My application is not actually dealing with animals, this is just to > make it simpler to explain the issue) --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

