我在 MyClass (这是一个活动)中有一个 savePreferences 和 loadPreferences 方法,如下所示:
private void savePreference(String key, boolean value) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean toggleValue = sharedPreferences.getBoolean("ToggleValue", true);
Editor editor = sharedPreferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
public void loadPreferences() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean toggleValue = sharedPreferences.getBoolean("ToggleValue", true);
if (toggleValue) {
toggle.setChecked(true);
alertStatus=true;
} else {
toggle.setChecked(false);
alertStatus=false;
}
myHold.setStatus(alertStatus);
}
我还有一个名为 MyBroadCast 的 BroadCastReceiver 类
在 的onReceive()
方法中BroadCastReceiver
,我想调用loadPreferences()
加载首选项。我该怎么做?我尝试创建一个对象MyClass
并调用.loadPreferences()
,但它会在类的这一行中给我一个空指针异常loadPreferences
:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);