gpt4 book ai didi

java - ArrayList saveInstanceState 不返回列表

转载 作者:太空狗 更新时间:2023-10-29 14:10:10 27 4
gpt4 key购买 nike

我有一个 ArrayList<>定制 Object当我的用户关闭我的应用程序时我需要保存。我可以在 logcat 中看到它“保存”到 outBundle当我使用 Bundle.putParcelableArrayList ,但是当我再次启动该应用程序时,无论是使用 Genymotion 还是使用物理电话,它都无法恢复。我也不能投 final StringSerializable无论出于何种原因,如果这会有所帮助。

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 输出,因为它从不“播放”它。/编辑

最佳答案

从我在这里读到的“...当我的用户关闭我的应用程序时我需要保存。...但是当我再次启动应用程序时它不会恢复它,无论是使用 Genymotion 还是物理电话。” 听起来您正在手动关闭应用程序。

这样 onRestoreInstanceState() 就不会被调用。仅当 Activity 已被操作系统终止时才会调用它。

检查 this postthis SO post

关于java - ArrayList<Custom Object> saveInstanceState 不返回列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29646317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com