From 8a86d734e53dcbafd86c5cc28679323798ecd8a5 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Thu, 17 Apr 2014 17:14:59 -0700 Subject: [PATCH] Improve Preference highlighting - add PreferenceFragment.onBindPreferences() so that we can know when the binding as been done - use the Preference's key as a tag for its View (so that we can locate it latter in the View hierarchy) Change-Id: Ifb3b30e576048b7464af63643834d278a46a8543 --- core/java/android/preference/PreferenceFragment.java | 5 +++++ core/java/android/preference/PreferenceGroupAdapter.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java index 325b2e66599ab..ff16f6cf132c4 100644 --- a/core/java/android/preference/PreferenceFragment.java +++ b/core/java/android/preference/PreferenceFragment.java @@ -329,6 +329,11 @@ public abstract class PreferenceFragment extends Fragment implements if (preferenceScreen != null) { preferenceScreen.bind(getListView()); } + onBindPreferences(); + } + + /** @hide */ + protected void onBindPreferences() { } /** @hide */ diff --git a/core/java/android/preference/PreferenceGroupAdapter.java b/core/java/android/preference/PreferenceGroupAdapter.java index 9b41ff03d2546..381a5f0945377 100644 --- a/core/java/android/preference/PreferenceGroupAdapter.java +++ b/core/java/android/preference/PreferenceGroupAdapter.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Handler; import android.preference.Preference.OnPreferenceChangeInternalListener; @@ -243,6 +242,7 @@ public class PreferenceGroupAdapter extends BaseAdapter if (position == mHighlightedPosition && mHighlightedDrawable != null) { result.setBackgroundDrawable(mHighlightedDrawable); } + result.setTag(preference.getKey()); return result; }