hue*_*y77 3 android android-studio android-sharedpreferences
出于某种原因,每次返回默认值都为true.我卸载了我的应用程序并重新安装,我执行以下操作来初始化值.但由于某种原因,布尔值设置为true而不是false.
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(LoadingActivity.this);
final int locationType = prefs.getInt(Constants.PREFS_LOCATION, 0);
final boolean skipWhatsNew = prefs.getBoolean(Constants.PREFS_DONT_SHOW_WHATS_NEW, false);
Log.v("loading activity : " , " " + skipWhatsNew);
Run Code Online (Sandbox Code Playgroud)
我不确定它为什么这样做,因为它之前只是将值设置为false.
我已经看过类似的问题,但没有一个帮助过,所以任何帮助都会很好,谢谢.
我已经看过的问题,
Android - 即使我存储了true,SharedPreference.getBoolean检索为false?
SharedPreferences.getBoolean每次都返回true
上面的代码也是我第一次访问它,根据我的理解,它应该设置为false,因为它是第一次创建.(关于这个问题的第一个答案提到这个,除非我错了)
要修复,我把它放在我的AndroidManifest中:
<application
android:allowBackup="false"
...>
Run Code Online (Sandbox Code Playgroud)
请参阅:https://developer.android.com/guide/topics/data/backup.html
您应该将代码粘贴到将值设置为 false 的位置。如果您显式地将其设置为 false 并将 false 作为默认值传递,则此方法没有理由返回 true,应该不可能。也许有一种方法,您可以应用某种逻辑来返回 true,或者您在看到该值后没有使用 commit 方法。
你检查过这个问题了吗?
每次 Android 时 SharedPreferences.getBoolean 都会返回 true - 即使我存储 true,SharedPreference.getBoolean 也会检索 false?
| 归档时间: |
|
| 查看次数: |
1888 次 |
| 最近记录: |