使用通知启动活动时遇到问题。
我更改时存储布尔参数 X 的值。 代码如下所示
private void storePrefs() {
SharedPreferences settings = getSharedPreferences(PREF, 0);
SharedPreferences.Editor edit = settings.edit();
edit.putString(PREF_init, X.toString());
edit.commit();
}
当我使用Notification启动Activity时,无论我存储什么,它总是返回“true”。 恢复代码是这样的。
private void restorePrefs() {
SharedPreferences settings = getSharedPreferences(PREF, 0);
String pref_init = settings.getString(PREF_init, "");
if(!pref_init.equals("")) {
X = Boolean.parseBoolean(pref_init);
}
}
有谁知道它有什么问题吗? 谢谢。
答案 0 :(得分:0)
尝试使用putBoolean()/ getBoolean(),而不是将其转换为字符串和从字符串转换。
答案 1 :(得分:0)
在使用之前打印PREF_init
键的值。我打赌它不同。此名称或PREF
名称不同。除非您有理由不这样做,否则请使用默认的共享首选项btw。
是的 - 为此使用布尔值!