ArrayList<Custom Object> saveInstanceState not returning list

У меня есть ArrayList<> of a custom Object that I need to save when my users close down my app. I can see in logcat that it "saves" it to outBundle когда я использую Bundle.putParcelableArrayList, but it doesn't recover it when I start the app again, either with Genymotion or physical phone. I also can't cast the final String в Serializable for whatever reason if that would help.

static final String tasks = "tasks";

outState.putParcelableArrayList(tasks, taskList); //this works

taskList = savedInstanceState.getParcelableArrayList(tasks); //this doesn't

I've tried calling it in onCreate с (savedInstanceState != null) заявление и в onRestoreInstanceState, Я что-то упускаю здесь очевидное?

EDIT: this is what I want to see in logCat:

outState.putParcelableArrayList(tasks, taskList);
        System.out.println("saved: " + taskList);

И вот что я получаю:

04-15 09:24:27.513    1791-1791/com.aau.uni.mea2015.a317b.cueless I/System.out﹕ saved: [this is a task
04-15 09:24:27.513    1791-1791/com.aau.uni.mea2015.a317b.cueless I/System.out﹕ 0 - 1 minutter, 1 underopgave(r)]

There is no logcat output for onRestore or onCreate because it never "plays" it. /редактировать

1 ответ

Из того, что я прочитал здесь "... что мне нужно сохранить, когда мои пользователи закрывают мое приложение...... но оно не восстанавливает его, когда я снова запускаю приложение, будь то с помощью Genymotion или физического телефона". Похоже, вы закрываете приложение вручную.

Сюда onRestoreInstanceState() не будет звонить. Он вызывается только в том случае, если активность была убита ОС.

Проверьте этот пост или этот пост также.

Другие вопросы по тегам