アプリの 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 はトリガーされません。
この問題を解決するアイデアはありますか?