我想从共享首选项加载布尔值。首次启动时,它应该为TRUE,因为我从未将它保存到共享首选项。但是,我不知何故变得虚假。共享首选项不正确gettingBoolean
查看下面的代码。
settings = context.getSharedPreferences(SAVED_PREFERENCES, 0);
isFirstLaunch = settings.getBoolean(FIRST_LAUNCH, true);
Log.d(TAG, "loadIsFirstLaunch: " + isFirstLaunch);
p.s.我在100%之前没有在共享偏好设置中保存FIRST_LAUNCH值。
UPD1我已经用空项目重复检查 - 代码工作正常。共享首选项使用布尔类,而不是布尔基元类型。所以不是这种情况,默认情况下布尔值为false。另外根据调试,我的共享首选项在启动时包含FIRST_LAUNCH值。所以看看它是如何到达那里。
UPD2我终于卡住了。删除了FirstLaunch的所有提示,但在另一个读取其他值的调用发生时,它仍然以某种方式出现在SharedPreferences中。所以问题是 - 我如何摆脱共享偏好中保存的值。 http://take.ms/Rr0Xf
UPD3我已经改名为我保存的首选项文件和它的工作。所以问题是,即使在应用程序全新安装之后,SOMEHOW设备仍然保存着保存的喜好信息。 PFM。
分享您的完整代码,用于插入和阅读偏好数据。 –
默认值必须为true。 –
没有人可以帮助你,直到你提供足够的信息源代码足够的问题.. –