diff options
| author | 2024-12-19 11:35:13 +0000 | |
|---|---|---|
| committer | 2024-12-19 12:14:32 +0000 | |
| commit | ebf1f791732a447aaef4016fbd866a284e7fc8f2 (patch) | |
| tree | ebebbdfbd96908e8617fe77a553ff80052ac743b | |
| parent | 7d92eb07d692a0874d444e3e158724a228b74fbc (diff) | |
Clear exisiting listeners in SliderPreference.onBindViewHolder()
If the view is reused, the old listeners will still remain on the
instance and cause wrong behavior. Should clear the old listeners before
adding the new one.
Flag: EXEMPT update library
Test: visual test
Bug: 349675952
Bug: 385089184
Change-Id: Iaee4996132422bb0e0d41984cd7982df4bde67f6
| -rw-r--r-- | packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java b/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java index 76f0d194c71d..4315238ad7c1 100644 --- a/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java +++ b/packages/SettingsLib/SliderPreference/src/com/android/settingslib/widget/SliderPreference.java @@ -268,7 +268,9 @@ public class SliderPreference extends Preference { mSlider.setValueFrom(mMin); mSlider.setValueTo(mMax); mSlider.setValue(mSliderValue); + mSlider.clearOnSliderTouchListeners(); mSlider.addOnSliderTouchListener(mTouchListener); + mSlider.clearOnChangeListeners(); mSlider.addOnChangeListener(mChangeListener); mSlider.setEnabled(isEnabled()); |