diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-02-20 11:08:19 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-02-22 12:46:59 +0100 |
| commit | 9f11130b9f15ef8c3036248d056c658d90bedabb (patch) | |
| tree | d2bdf5d8fba08009340fe0ec830bc016a134455b /main/src/cgeo/geocaching/settings/AbstractClickablePreference.java | |
| parent | 6e4235b1304060dce66d72dc9621e22929de0773 (diff) | |
| download | cgeo-9f11130b9f15ef8c3036248d056c658d90bedabb.zip cgeo-9f11130b9f15ef8c3036248d056c658d90bedabb.tar.gz cgeo-9f11130b9f15ef8c3036248d056c658d90bedabb.tar.bz2 | |
refactoring: factor out common code in preferences
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); +} |
