How to listen for preference changes within a PreferenceFragment?

前端 未结 9 2097
自闭症患者
自闭症患者 2020-11-28 19:16

As described here, I am subclassing PreferenceFragment and displaying it inside an Activity. That document explains how to listen for preference changes here, but only if yo

9条回答
  •  青春惊慌失措
    2020-11-28 19:39

    You just need to delare the specified Prefernce class in your onResume() method. In my case I was using SwitchPreference class, therefore the code would be like- SettingsActivity.class

    public static class PrivacyPreferenceFragment extends PreferenceFragment
    {
        public SwitchPreference switchPreference;
    
        @Override
        public void onResume() {
            super.onResume();
            switchPreference = (SwitchPreference) findPreference("privacy_notice_check");
        }
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.pref_privacy);
            setHasOptionsMenu(true);
    
        }
    

    Then in the activity where you want to use the PrefernceFragment value, just use the SharedPreference object to call the values and trigger it.

提交回复
热议问题