2012-01-21 3 views
2

Допустим, что у вас есть два класса ObjA и ObjB. ObjB получен из ObjA.Обращение с захваченными объектами при использовании Parceable

Если вы применяете в ObjB, вам также необходимо посылку ObjA также?

У меня есть проект, который, когда я пробовал выше, не работал, но как только я объединил ObjA и ObjB вместе, приложение работало.

Я видел вопрос, связанный с этим site, но производный класс имел ObjA внутри ObjB. Я просто расширяю ObjA, так что мне все еще нужно разбирать оба класса ???

+0

Вы прочитали [этого] (http://stackoverflow.com/questions/4049627/parcelable-and-inheritance-in-android) вопрос? –

+0

Спасибо .. Я только что сделал. Я могу изменить его, чтобы посмотреть, будет ли это работать. – barakisbrown

ответ

0

По моему разумению,

Если ObjB является ObjA - Нет необходимости в реализации parcelable в ObjA, если это делается в ObjB.

Но

Если ObjB имеет ObjA - Вы должны реализовать parcelable в ObjA только если вы пришлете его состояние через посылку.

0

Если я правильно вас понимаю, objB расширяет objA. В этом случае я думаю, что вы пытаетесь установить аргумент в objA, чтобы objB тоже его получал.

Если ваш план состоит в том, чтобы сделать специальный класс, который реализует parcelable и имеет много других классов, расширяющий этот класс, это сложно, потому что члены и поля в objB должны быть записаны в том же порядке, в котором они были прочитаны, поэтому objA для правильной сортировки, и ему нужно знать, какие типы членов objB так, чтобы они могли читать и писать соответствующие типы. К счастью, я написал класс, который делает именно это:

https://github.com/awadalaa/Android-Global-Parcelable

Смежные вопросы