Вызвать слушателя в указанной функции

У меня есть preferenceListener в котором я слушаю изменения в предпочтениях

preferenceListener = new OnSharedPreferenceChangeListener() {
            @Override
            public void onSharedPreferenceChanged(
                    SharedPreferences sharedPreferences, String key) {
                if (key.equals(SettingsActivity.CAR)
                         { }

                } 

             }
        };

Но я хочу призвать этого слушателя в onResume() только. Означает, что активность переходит в onResume() и мои предпочтения меняются, тогда только я хочу вызвать этого слушателя. Как этого добиться?

1 ответ

Если вы хотите, чтобы ваш слушатель использовался только в onResume затем вы можете добавить и удалить слушателя, используя unregisterOnSharedPreferenceChangeListener отключить слушателя от прослушивания.

Так в вашем onresume Вы регистрируете это и в своем onCreate Вы можете отменить регистрацию / отключить прослушивание

образец:

preferences.unregisterOnSharedPreferenceChangeListener(preferenceListener); //in onresume
preferences.registerOnSharedPreferenceChangeListener(preferenceListener); //in oncreate
Другие вопросы по тегам