Fixes selection bug in AbilityScorePicker.

This commit is contained in:
Tom Hicks
2021-06-25 23:26:59 -07:00
parent faaea0ea7e
commit 7b308ded1b

View File

@@ -69,12 +69,12 @@ public class AbilityScorePicker extends LinearLayout {
mHolder.spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { mHolder.spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
mSelectedValue = (AbilityScore) parent.getItemAtPosition(position); setValue((AbilityScore) parent.getItemAtPosition(position));
} }
@Override @Override
public void onNothingSelected(AdapterView<?> parent) { public void onNothingSelected(AdapterView<?> parent) {
mSelectedValue = AbilityScore.STRENGTH; setValue(mSelectedValue = AbilityScore.STRENGTH);
} }
}); });
mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), mSelectedValue)); mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), mSelectedValue));
@@ -93,7 +93,8 @@ public class AbilityScorePicker extends LinearLayout {
public void setValue(AbilityScore value) { public void setValue(AbilityScore value) {
if (value != mSelectedValue) { if (value != mSelectedValue) {
mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), mSelectedValue)); mSelectedValue = value;
mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), value));
if (mOnValueChangedListener != null) { if (mOnValueChangedListener != null) {
mOnValueChangedListener.onValueChanged(value); mOnValueChangedListener.onValueChanged(value);
} }