Make onBindViewHolder public and hide the click listener
Change-Id: I76787d9243250b8c23a7a6aa694cfc6120d3c889
diff --git a/v14/preference/src/android/support/v14/preference/SwitchPreference.java b/v14/preference/src/android/support/v14/preference/SwitchPreference.java
index 330f81b..048bc6c 100644
--- a/v14/preference/src/android/support/v14/preference/SwitchPreference.java
+++ b/v14/preference/src/android/support/v14/preference/SwitchPreference.java
@@ -133,7 +133,7 @@
}
@Override
- protected void onBindViewHolder(PreferenceViewHolder holder) {
+ public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
View checkableView = holder.findViewById(R.id.switchWidget);
diff --git a/v7/preference/src/android/support/v7/preference/CheckBoxPreference.java b/v7/preference/src/android/support/v7/preference/CheckBoxPreference.java
index 0e2219e..f49b0d6 100644
--- a/v7/preference/src/android/support/v7/preference/CheckBoxPreference.java
+++ b/v7/preference/src/android/support/v7/preference/CheckBoxPreference.java
@@ -68,7 +68,7 @@
}
@Override
- protected void onBindViewHolder(PreferenceViewHolder holder) {
+ public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
View checkboxView = holder.findViewById(R.id.checkbox);
diff --git a/v7/preference/src/android/support/v7/preference/Preference.java b/v7/preference/src/android/support/v7/preference/Preference.java
index 90c495a..13373fd 100644
--- a/v7/preference/src/android/support/v7/preference/Preference.java
+++ b/v7/preference/src/android/support/v7/preference/Preference.java
@@ -76,7 +76,7 @@
* @attr ref android.R.styleable#Preference_defaultValue
* @attr ref android.R.styleable#Preference_shouldDisableView
*/
-public class Preference implements Comparable<Preference>, View.OnClickListener {
+public class Preference implements Comparable<Preference> {
/**
* Specify for {@link #setOrder(int)} if a specific order is not required.
*/
@@ -130,6 +130,13 @@
private boolean mBaseMethodCalled;
+ private final View.OnClickListener mClickListener = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ performClick();
+ }
+ };
+
/**
* Interface definition for a callback to be invoked when the value of this
* {@link Preference} has been changed by the user and is
@@ -461,8 +468,8 @@
* will be recycled, so you should not hold a reference to them after this method
* returns.
*/
- protected void onBindViewHolder(PreferenceViewHolder holder) {
- holder.itemView.setOnClickListener(this);
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ holder.itemView.setOnClickListener(mClickListener);
final TextView titleView = (TextView) holder.findViewById(android.R.id.title);
if (titleView != null) {
@@ -910,11 +917,6 @@
return mOnClickListener;
}
- @Override
- public void onClick(View v) {
- performClick();
- }
-
/**
* Called when a click should be performed.
*
diff --git a/v7/preference/src/android/support/v7/preference/SwitchPreferenceCompat.java b/v7/preference/src/android/support/v7/preference/SwitchPreferenceCompat.java
index 4b8f99f..2e0e38b 100644
--- a/v7/preference/src/android/support/v7/preference/SwitchPreferenceCompat.java
+++ b/v7/preference/src/android/support/v7/preference/SwitchPreferenceCompat.java
@@ -131,7 +131,7 @@
}
@Override
- protected void onBindViewHolder(PreferenceViewHolder holder) {
+ public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
View checkableView = holder.findViewById(R.id.switchWidget);