Я реализовал некоторые настройки приложения для своего приложения.Для строк они отлично работают, но не для булевых значений.Например,
public class MdSharedPrefs {
public final static String PREFS_NAME = "prefs";
public static boolean getSSFlag(Context context) {
SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0);
return prefs.getBoolean(context.getString(R.string.pref_key_ss), false);
}
public static void setSSFlag(Context context, boolean newValue) {
SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0);
Editor prefsEditor = prefs.edit();
prefsEditor.putBoolean(context.getString(R.string.pref_key_ss),
newValue);
prefsEditor.commit();
}
}
И для этого требуется
<string name="pref_key_ss"></string>
в strings.xml.Когда я удаляю эту строку, проект не компилируется.Но когда я оставляю это, этот логический преф не работает.Когда я нажимаю на него и возвращаюсь к главному экрану, а затем возвращаюсь к настройкам, значение не проверяется.
Однако для строк это работает нормально.
Есть идеи, что случилось?