ArrayList <custom object =“”> saveInstanceState不返回列表</custom>

时间:2015-04-15 09:18:41

标签: java android arraylist savestate onrestoreinstancestate

我有ArrayList<>个自定义Object我需要在用户关闭我的应用时保存。我可以在logcat中看到,当我使用outBundle时,它会将其“保存”到Bundle.putParcelableArrayList,但是当我再次使用Genymotion或物理手机启动应用程序时,它无法恢复它。如果这会有所帮助,我也无法将final String转换为Serializable

static final String tasks = "tasks";

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

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

我尝试在onCreate中使用(savedInstanceState != null)语句并在onRestoreInstanceState中调用它。 我错过了一些明显的东西吗?

编辑:这就是我想在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)]

onRestore或onCreate没有logcat输出,因为它永远不会“播放”它。 /编辑

1 个答案:

答案 0 :(得分:1)

从我在这里读到的&#34; ...当我的用户关闭我的应用程序时,我需要保存。 ...但是当我再次启动应用程序时,无论是使用Genymotion还是物理手机,它都无法恢复。&#34; 听起来好像是在手动关闭应用程序。

这种方式onRestoreInstanceState()不会被调用。只有在活动被操作系统杀死时才会调用它。

同时检查this postthis SO post