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

はい、それは重要です、あなたが他の活動をしているなら(それは主な活動ではありません)。共有設定変更リスナーは無効になり、呼び出されません。おそらく、共有設定を変更するアクティビティに 1 つのリスナーを実装できます。

于 2012-08-30T20:41:21.797 に答える