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:OK、私の後の編集を参照してください。 – Squonk
いいえ私はそれをしません、どこでそれをしますか?onSharePreferenceChangedListenerの中で? – noloman