c # Android, как положить Enum в пакет - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь поместить значение Enum в пакет A, используя приведенный ниже код.

Bundle args = new Bundle();
args.PutSerializable("key", NavigationType.HOME);

Однако я получаю ошибку Невозможно преобразовать Enums.NavigationType в Java.IO.ISerializable

1 Ответ

0 голосов
/ 29 июня 2018

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

Bundle args = new Bundle();
args.PutString("key", NavigationType.HOME.toString());

и при получении аргументов:

Enum.TryParse(args.GetStringExtra("key"), out NavigationType navigationType);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...