Передача enum или объекта через намерение (лучшее решение) - PullRequest
193 голосов
/ 14 мая 2010

У меня есть действие, при запуске которого требуется доступ к двум различным спискам массивов. Оба списка - это разные объекты, которые я создал сам.

По сути, мне нужен способ передать эти объекты в действие из намерения. Я могу использовать addExtras (), но для этого требуется совместимый класс Parceable. Я мог бы сделать так, чтобы мои классы передавались сериализуемо, но, насколько я понимаю, это замедляет работу программы.

Какие у меня варианты?

Могу ли я передать Enum?

В качестве отступления: есть ли способ передать параметры конструктору действий из намерения?

Ответы [ 12 ]

0 голосов
/ 15 мая 2010

Не используйте перечисления. Причина № 78 не использовать перечисления. :) Используйте целые числа, которые можно легко удалить с помощью Bundle и Parcelable.

0 голосов
/ 14 мая 2010

Я думаю, что вам лучше всего будет конвертировать эти списки во что-то, например строку (или карту?), Чтобы передать их в Activity. Затем Activity должен будет преобразовать его обратно в массив.

Реализация пользовательских посылок - это боль в шее, ИМХО, поэтому я бы избегал этого, если это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...