I have a CheckBoxPreference in a FragmentPreference. When the user active the check box, I check if an application is installed and if not, I reset the preference on false and I open the Play Store to download the app.
Basically all works fine, but I have an issue to refresh the UI. Indeed, even if I set the preference on false before opened the Play Store, when the user come back, the box is checked (the fragment has just been paused and resumed so the preference value is ignored).
Is there a way to “refresh” the activity or the fragment?
Make your PreferenceFragment implement the OnSharedPreferenceChangeListener interface.
In
onCreate(), you can read the preference value and set the UI accordingly. For instance:Then, in
onSharedPreferenceChanged(), update the UI.Here’s a code snippet from the AdvancedPreferences sample in API Demos to force the value of a checkbox preference.