diff options
Diffstat (limited to 'main/src/cgeo/geocaching/settings/AbstractClickablePreference.java')
| -rw-r--r-- | main/src/cgeo/geocaching/settings/AbstractClickablePreference.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/settings/AbstractClickablePreference.java b/main/src/cgeo/geocaching/settings/AbstractClickablePreference.java new file mode 100644 index 0000000..f4080cd --- /dev/null +++ b/main/src/cgeo/geocaching/settings/AbstractClickablePreference.java @@ -0,0 +1,30 @@ +package cgeo.geocaching.settings; + +import android.content.Context; +import android.preference.Preference; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; + +abstract class AbstractClickablePreference extends Preference { + + final SettingsActivity activity; + + public AbstractClickablePreference(Context context, AttributeSet attrs) { + super(context, attrs); + activity = (SettingsActivity) context; + } + + public AbstractClickablePreference(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + activity = (SettingsActivity) context; + } + + @Override + protected View onCreateView(ViewGroup parent) { + setOnPreferenceClickListener(getOnPreferenceClickListener(activity)); + return super.onCreateView(parent); + } + + abstract protected OnPreferenceClickListener getOnPreferenceClickListener(final SettingsActivity activity); +} |
