From 09dbf1844016682ed461d080e32a43d0086e767d Mon Sep 17 00:00:00 2001 From: Freeman Ng Date: Wed, 11 Aug 2010 15:45:01 -0700 Subject: add a Skip option Change-Id: I21dca8feb1dedc362350c41e95a12463e6e4bc61 --- .../android/preference/PreferenceActivity.java | 13 +++++++++ core/res/res/layout/preference_list_content.xml | 31 +++++++++++++++------- core/res/res/values/strings.xml | 21 ++++++++------- 3 files changed, 47 insertions(+), 18 deletions(-) diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java index e13c3e8e7b55..114f67dc7a83 100644 --- a/core/java/android/preference/PreferenceActivity.java +++ b/core/java/android/preference/PreferenceActivity.java @@ -125,6 +125,9 @@ public abstract class PreferenceActivity extends ListActivity implements // Back will then return RESULT_CANCELED and Next RESULT_OK private static final String EXTRA_PREFS_SHOW_BUTTON_BAR = "extra_prefs_show_button_bar"; + // add a Skip button? + private static final String EXTRA_PREFS_SHOW_SKIP = "extra_prefs_show_skip"; + // specify custom text for the Back or Next buttons, or cause a button to not appear // at all by setting it to null private static final String EXTRA_PREFS_SET_NEXT_TEXT = "extra_prefs_set_next_text"; @@ -307,6 +310,13 @@ public abstract class PreferenceActivity extends ListActivity implements finish(); } }); + Button skipButton = (Button)findViewById(com.android.internal.R.id.skip_button); + skipButton.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + setResult(RESULT_OK); + finish(); + } + }); mNextButton = (Button)findViewById(com.android.internal.R.id.next_button); mNextButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { @@ -334,6 +344,9 @@ public abstract class PreferenceActivity extends ListActivity implements backButton.setText(buttonText); } } + if (intent.getBooleanExtra(EXTRA_PREFS_SHOW_SKIP, false)) { + skipButton.setVisibility(View.VISIBLE); + } } } diff --git a/core/res/res/layout/preference_list_content.xml b/core/res/res/layout/preference_list_content.xml index d530e96931cb..eeba18e743ca 100644 --- a/core/res/res/layout/preference_list_content.xml +++ b/core/res/res/layout/preference_list_content.xml @@ -59,15 +59,28 @@ android:drawablePadding="3dip" android:text="@string/back_button_label" /> - -