在指定的函数中调用侦听器

时间:2014-08-10 08:58:51

标签: android sharedpreferences

我有一个preferenceListener我在其中听取偏好的变化

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

                } 

             }
        };

但我想仅在onResume()中调用此侦听器。意味着如果活动进入onResume()并且我的偏好被更改,那么我只想调用此侦听器。如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

如果您希望您的听众仅在onResume中使用,那么您可以使用unregisterOnSharedPreferenceChangeListener 添加删除您的听众以禁用倾听的听众。

因此,在您的onresume注册,onCreate,您可以取消注册/停用

<强>样品:

preferences.unregisterOnSharedPreferenceChangeListener(preferenceListener); //in onresume
preferences.registerOnSharedPreferenceChangeListener(preferenceListener); //in oncreate