在图片上您可以看到,即使SharedPreferences
中有一个带右键的键-值对,布尔变量也采用了默认值。是什么原因造成的?在代码中,这是在onCreate
方法的末尾。此后,调用onMapReady
方法(从com.google.android.gms.maps.OnMapReadyCallback
),在此检查SAME布尔值,以查看是否必须在地图上放置一些标记。在该方法中,getBoolean()
行为是正确的,默认值将被忽略。这对我来说没有任何意义,有人可以帮助我吗?
最佳答案
1)您是否打算在键“ isThereReservation”中留出空间?在您的调试代码中,变量没有空格。确保使用正确的键,否则将获得默认值!
2)如何保存sharedPref?您的代码应为:
myPrefs = myContext.getSharedPreferences("MY_PREFERENCE_NAME", MODE_PRIVATE);
myPrefEditor = myPrefs.edit();
myPrefsEditor.clear();
myPrefsEditor.putBoolean("MY_KEY",myBool);
然后您可以使用以下方式访问:
myPrefs = myContext.getSharedPreferences("MY_PREFERENCE_NAME", MODE_PRIVATE);
myPrefs.getBoolean("MY_KEY",MY_DEFAULT_VALUE);