Android 在指定函数中调用侦听器
我有一个preferenceListener,我在其中聆听偏好的变化Android 在指定函数中调用侦听器,android,sharedpreferences,Android,Sharedpreferences,我有一个preferenceListener,我在其中聆听偏好的变化 preferenceListener = new OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged( SharedPreferences sharedPreferences, String key) {
preferenceListener = new OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) {
if (key.equals(SettingsActivity.CAR)
{ }
}
}
};
但我只想在onResume中调用此侦听器。意味着如果活动进入onResume并且我的首选项更改,那么只有我想调用这个侦听器。如何实现这一点?如果您希望您的侦听器仅用于onResume,则可以使用unregisterOnSharedPreferenceChangeListener添加和删除您的侦听器以禁用侦听器 因此,您可以在onresume中注册它,并在onCreate中取消注册/禁用监听 样本:
您是否尝试重写onResume方法并将侦听器保留在那里?@Nabin但如果我更改首选项,侦听器将随时响应。如果我在onCreate中定义此侦听器,它会在每次更改首选项时侦听,而不仅仅是在我的活动进入onCreate时侦听。您在哪里使用了此post?我在片段的onCreateView中使用了@Rod_Algonquin。我想在相同片段的onResume中使用它。@Diffy post you onCreateView
preferences.unregisterOnSharedPreferenceChangeListener(preferenceListener); //in onresume
preferences.registerOnSharedPreferenceChangeListener(preferenceListener); //in oncreate