StringSets不会保存/加载SharedPreferences

时间:2013-02-10 01:29:56

标签: android listview arraylist sharedpreferences jodatime

我的应用程序存储自定义Food对象的ArrayList,这些对象将发布到主Activity中的ListView。应用程序的ListView部分工作正常,但我在向SharedPreferences保存和加载这些Food对象时遇到了问题。

我将这些Food对象保存为SharedPreferences,方法是将每个属性保存为String,将它们放在StringSet中,并通过putStringSet函数保存每个属性。当应用程序恢复时,它会从SharedPreferences读取每个StringSet并创建一个带有读取属性的新Food项,然后将每个添加到ArrayList。代码似乎应该可以工作,但只是不会在会话之间加载数据。任何人都可以帮我找出原因吗?谢谢!

Code removed

1 个答案:

答案 0 :(得分:1)

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