Отправка структуры данных типа MultiMap через намерение в Android Studio - PullRequest
0 голосов
/ 28 июня 2018

Мне нужно было создать структуру данных типа «мультикарта» для моего приложения для Android, которая выглядит следующим образом

HashMap<Integer, String []> sampleStorage = new HashMap<Integer, String []>

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

Я использую этот код, чтобы добавить его в намерение и отправить его

Intent intent = new Intent(this, MyActivity.class);

Bundle args = new Bundle();
args.putSerializable("sampleStorage", (Serializable)sampleStorage);
intent.putExtra("BUNDLE", args);

И этот код я использую, чтобы получить его

Intent intent = getIntent();
Bundle args = intent.getBundleExtra("BUNDLE");

sampleStorage = (HashMap<Integer, String []>) args.getSerializable("sampleStorage");

Ошибка, возникающая при попытке получить к ней доступ во втором действии, является ошибкой NullPointerError, поэтому, похоже, она даже не переходит во второе действие. Любая помощь будет принята с благодарностью, заранее спасибо.

1 Ответ

0 голосов
/ 01 июля 2018

Итак, после нескольких дней изучения моего кода, я обнаружил, что было вторичное объявление sampleStorage, которое переписывало мою первоначальную хэш-карту. Извините, что я изначально не предоставил достаточно своего кода, чтобы кто-то мог правильно ответить на вопрос.

...