我有一个奇怪的问题 - 我希望它只是另一个模拟器故障
OFTEN(我仍然需要理解何时发生以及为什么),我的SharedPreferences会自动清除。
我怀疑它在每次构建时都会这样做,即使我刚刚编辑了评论。
此行为显示在Android 2.2模拟器上,我将其用于向后兼容
我在运行Android 4.0.4的物理设备上测试了相同的应用程序,但这种情况不会发生。
是的,在将任何值写入首选项之前,我会检查空值。
如果我甚至添加然后删除单个字符(例如,空格或制表符)然后将其删除,那么下次我在模拟器中重新运行活动时, >所有偏好都被清除 !!这是正常的吗?它至少是震惊......
答案 0 :(得分:1)
也许我可以帮助你;)。转到AVD Manager并编辑您的虚拟设备。你可以看到 在版本窗口的底部是“仿真选项”。在此选项中,您可以选中“快照”选项。这导致仿真器状态将在仿真器执行之间保持不变。
答案 1 :(得分:1)
我的错,伙计们(好吧,我有一个坏老师,所以我50%犯了罪)......
我在“MultiSelectListPreference”的值之间使用WEIRD分隔符(我跟着tutorial):我使用的是一系列Unicode字符,例如“\ 0001 \ 0007 \ 00d1 \ 0007 \ 0001” 。
事实证明,SharedPreference Manager发疯了并清除了所有值!
然后,我将分隔符更改为更常见的ASCII字符:“#” 它的工作原理非常完美。
也许这会帮助其他人遵循相同的教程。
无论如何,如果你像我一样想要支持旧版本的Android并且仍需要Checked ListPreferences,那么该教程效果很好!