私は自分のブール値を次のように好みのアクティビティに保存します。
OnPreferenceChangeListener locaListener = new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
if(newValue.toString().trim().equals("true")){
editor.putBoolean("locationEnabled", true);
}else if (newValue.toString().trim().equals("false")){
editor.putBoolean("locationEnabled", false);
}
editor.commit();
return true;
}
};
そして、私のメインアクティビティで次のように取得してみてください。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean prefLocationEnabled = prefs.getBoolean("locationEnabled", false);
文字列を使用した同じアプローチは完璧に機能しますが、ブール値を使用すると、常にデフォルト値であるfalseが返されるようです。誰かが私が間違っていることを知っていますか?