0

这是我的主要活动中的代码,从未调用过,更改是在另一个活动中完成的,这有关系吗?

SharedPreferences.OnSharedPreferenceChangeListener listener = new
  SharedPreferences.OnSharedPreferenceChangeListener() {

    @Override
    public void onSharedPreferenceChanged(SharedPreferences prefs, String key)
    {
        Toast.makeText(getBaseContext(), "clef modifiee : " + key,
            Toast.LENGTH_LONG).show();
        if(key == "LibraryName" || key == "LibraryPath")
        {
            LoadLibFile();
        }
    }
};

SharedPreferences prefs = getSharedPreferences(PREFS_NAME, 0);
prefs.registerOnSharedPreferenceChangeListener(listener);

抱歉缩进,在平板电脑上。

谢谢

4

1 回答 1

2

是的,一旦您从事其他活动(这不是主要活动),这很重要。您的共享首选项更改侦听器不再有效并且不会被调用。您可能可以在更改共享首选项的活动中实现一个侦听器。

于 2012-08-30T20:41:21.797 回答