0

我的应用程序存储了一个自定义 Food 对象的 ArrayList,这些对象发布到主 Activity 中的 ListView。该应用程序的 ListView 部分运行良好,但我在将这些 Food 对象保存到 SharedPreferences 和从 SharedPreferences 加载这些对象时遇到问题。

我将这些 Food 对象保存到 SharedPreferences,方法是将其每个属性保存为字符串,将它们放入 StringSet,并通过 putStringSet 函数保存每个对象。当应用程序恢复时,它会从 SharedPreferences 中读取每个 StringSet 并使用读取的属性创建一个新的 Food 项,然后将每个项添加到 ArrayList 中。该代码似乎应该可以工作,但只是不会在会话之间加载数据。谁能帮我弄清楚为什么?谢谢!

Code removed
4

1 回答 1

1

您似乎从未实例化 foodNamesSet 变量。因此检查 if(foodNamesSet != null) 总是返回 false。同样的事情也适用于其他集合。此外,我认为您应该在 onPause() 中而不是在 onStop() 中执行逻辑。

于 2013-02-11T16:17:39.803 回答