ユーザーが個人設定アクティビティの ListPreference から特定の項目を選択したときに、ダイアログを表示したいと考えています。しかし、 onSharedPreferenceChanged() を機能させることができません。メソッドの先頭に Toast を配置しましたが、それが表示されないため、メソッドが実行されません。これはなぜですか?
これが私のコードです:(ありがとう)
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
Toast.makeText(Preferences.this, "prefs Changed", Toast.LENGTH_SHORT)
.show();
if (key.equals("boolean_ad_type")) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String value = sharedPreferences.getString("boolean_ad_type", "");
if (value != null && value.equals("Pop-up Ads")) {
Toast.makeText(Preferences.this, "Pop-up Ads Selected",
Toast.LENGTH_SHORT).show();
}
}
}
そして、このようなアクティビティでそれを実装する必要がありますか? (私はあり、なしで試しましたが、違いはありません)
public class Preferences extends PreferenceActivity
implements OnSharedPreferenceChangeListener {