0
我在我的活动中有一些偏好,我希望实现这一点,根据这些偏好,某些服务将启动或不启动。 我试图实施和onSharedPreferenceChanged
方法,但它永远不会被调用(即使我已将它分配给一个字段)。 代码如下:Android偏好已更改
public class MtprojectActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
callsCheckbox = prefs.getBoolean("callsLogChk", true);
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (!started) {
startCallsService();
bindCallsService();
} else {
releaseCallsService();
stopCallsService();
}
}
};
prefs.registerOnSharedPreferenceChangeListener(listener);
非常感谢提前!
是的我改变了它,但仍然听者永远不会被调用 – noloman
@noloman:好的,看看我后来的编辑。 – Squonk
不,我不这样做,我应该在onSharePreferenceChangedListener里面做什么? – noloman