0

アプリの onSharedPreferencesChanged リスナーを登録しました。アプリを初めてインストールすると、sharedPreferencesChanged リスナーがトリガーされますが、トリガーされません。

これが私のコードです:

onSharedPrefChangedListener = new SharedPreferences.OnSharedPreferenceChangeListener() {


            @Override
            public void onSharedPreferenceChanged(
                    SharedPreferences sharedPreferences, String key) {
                // TODO Auto-generated method stub
                 if(key.equals(ENABLE_BANNER_AD_PREFERENCE_KEY)){
        Toast.makeText(FragmentTabsPager.this,getString(R.string.will_disable_restart), Toast.LENGTH_SHORT).show();
                }

            }

        };
        sharedPreferences.registerOnSharedPreferenceChangeListener(onSharedPrefChangedListener);

およびそれは Preferences XML にあります:

 <CheckBoxPreference android:title="@string/title"
                        android:summary="@string/summary"
                        android:icon="@drawable/icon"
                        android:defaultValue="true"
                         android:key="bannerKey"> </CheckBoxPreference>

インストール後、初めてアプリを起動するとトーストが表示されます。アプリケーションを再度起動して Preferences に移動すると、preferenceListener はトリガーされません。

この問題を解決するアイデアはありますか?

4

1 に答える 1