android:用于所有活动的OnSharedPreferenceChangeListener

时间:2014-06-20 09:05:01

标签: android sharedpreferences

我在我的主要活动中使用OnSharedPreferenceChangeListener

private SharedPreferences settings;
private OnSharedPreferenceChangeListener listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        settings = PreferenceManager.getDefaultSharedPreferences(this);
    listener = new OnSharedPreferenceChangeListener() {
        @Override
        public void onSharedPreferenceChanged(SharedPreferences arg0, String arg1) {
            MainActivity.this.refreshDisplay(null);
        }
    };
    settings.registerOnSharedPreferenceChangeListener(listener);
}
public void refreshDisplay(View view){
    //code
}

这样我就应该在我的所有活动中实现这个监听器。因为我的操作栏中的菜单叫做设置。我想知道是否有任何通用的方法(在类中定义监听器并在其他活动中调用它)来做到这一点? 先谢谢。

2 个答案:

答案 0 :(得分:3)

  1. 创建一个扩展SharedPrefsListenerActivity的{​​{1}}类。
  2. Activity中添加侦听器。
  3. 确保所有其他活动都延伸SharedPrefsListenerActivity

答案 1 :(得分:0)

  1. 创建实现侦听器的BaseActivity(OnSharedPreferenceChangeListener())
  2. 使用BaseActivity(YourActivity扩展BaseActivity)