0
SharedPreferences我有一个savePreferences和loadPreferences方法写成MyClass中(这是一个活性)如下:访问另一个类的从广播接收器
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
在onReceive()
一个BroadcastReceiver类方法BroadCastReceiver
,我想打电话给loadPreferences()
加载首选项。我该怎么做?我试图使一个对象的MyClass
,并呼吁.loadPreferences()
,但它会给我一个空指针异常在此行中loadPreferences
类:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
IM在你的代码有点困惑。在接收器中,我要调用loadTogglePreferences()吗?我怎么称呼它? – user2779837
你需要调用'YourActivityClass.loadTogglePreferences(context)' – flx