Merge "Fix bug 5205275 - SwitchPreference doesn't allow Switch to slide back and forth."

This commit is contained in:
Adam Powell
2011-08-23 21:56:16 -07:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 14 deletions

View File

@@ -41,14 +41,16 @@ public class SwitchPreference extends TwoStatePreference {
private CharSequence mSwitchOff;
private final Listener mListener = new Listener();
private class Listener implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
@Override
public void onClick(View v) {
SwitchPreference.this.onClick();
}
private class Listener implements CompoundButton.OnCheckedChangeListener {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (!callChangeListener(isChecked)) {
// Listener didn't like it, change it back.
// CompoundButton will make sure we don't recurse.
buttonView.setChecked(!isChecked);
return;
}
SwitchPreference.this.setChecked(isChecked);
}
}
@@ -111,12 +113,6 @@ public class SwitchPreference extends TwoStatePreference {
switchView.setTextOff(mSwitchOff);
switchView.setOnCheckedChangeListener(mListener);
}
if (checkableView.hasFocusable()) {
// This is a focusable list item. Attach a click handler to toggle the button
// for the rest of the item.
view.setOnClickListener(mListener);
}
}
syncSummaryView(view);

View File

@@ -22,5 +22,4 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="16dip"
android:focusable="false"
android:clickable="false" />
android:focusable="false" />