0
我已爲我的應用註冊了onSharedPreferencesChanged監聽器。如果我第一次安裝我的應用程序,sharedPreferencesChanged監聽器被觸發,但它不應該。首次啓動「首選項」活動時,會觸發Android onSharedPreferencesChanged
這裏是我的代碼:
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);
和多數民衆在首XML:
<CheckBoxPreference android:title="@string/title"
android:summary="@string/summary"
android:icon="@drawable/icon"
android:defaultValue="true"
android:key="bannerKey"> </CheckBoxPreference>
敬酒時,我開始了第一次aftern應用程序的安裝出現。如果我再次啓動應用程序並導航到Preferences,preferencesListener將不會被觸發。
有沒有人有想法解決這個問題?
也許它是正確的行爲。但我不明白爲什麼只有在第一次啓動後才能啓動?.. – zennon
嘗試刪除應用程序數據。首選項偵聽器是否會被調用? – 18446744073709551615
好主意..我已經刪除了應用程序數據..監聽器再次調用.. – zennon