Как перенести все сопоставления из Bundle в другой комплект, не перезаписывая его? - PullRequest
0 голосов
/ 05 июня 2018

Я пробовал это, но он перезаписывает существующий пакет:

Bundle b1 = new Bundle();
b1.putString("name", "Abraham");
Intent i = getIntent();
Bundle b2 = i.getExtras();
b1.putAll(b2);

Чем я потеряю Авраама ...

1 Ответ

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

Что вы делаете здесь: // Создание нового пакета

 Bundle b1 = new Bundle();

// Установка некоторого значения в этом пакете

b1.putString("name", "Abraham");

// Создание нового намерения

Intent i = getIntent();

и здесь без назначения b1 (связка) для вашего намерения, как это

i.putExtras (b1);

// здесь выполучить нулевой пакет из намерения.

Bundle b2 = i.getExtras ();

// Таким образом, вы не получили никаких пакетов и получили исключение

b1.putAll(b2);

Вам просто нужно назначитьваш пакет с намерением.как упомянуто выше жирным шрифтом.

...