aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java')
-rw-r--r--main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java b/main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java
index e36e007..35df787 100644
--- a/main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java
+++ b/main/src/cgeo/geocaching/settings/CheckBoxWithPopupPreference.java
@@ -18,6 +18,7 @@ public class CheckBoxWithPopupPreference extends CheckBoxPreference {
private String text;
private String url;
private String urlButton;
+ private OnPreferenceChangeListener baseOnPrefChangeListener = null;
public CheckBoxWithPopupPreference(Context context) {
super(context);
@@ -53,10 +54,17 @@ public class CheckBoxWithPopupPreference extends CheckBoxPreference {
@Override
protected View onCreateView(ViewGroup parent) {
+ if (baseOnPrefChangeListener == null) {
+ baseOnPrefChangeListener = getOnPreferenceChangeListener();
+ }
+
// show dialog when checkbox enabled
setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(final Preference preference, Object newValue) {
+ if (baseOnPrefChangeListener != null) {
+ baseOnPrefChangeListener.onPreferenceChange(preference, newValue);
+ }
if (!(Boolean) newValue) {
return true;
}