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()
не будет звонить. Он вызывается только в том случае, если активность была убита ОС.