From 54f863ee5f9ed68347f20e90c177d37c0425ba2c Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Sun, 20 Jun 2021 00:40:14 -0700 Subject: [PATCH] Adds ability score picker. --- .../ui/components/AbilityScorePicker.java | 15 +++++++-------- .../res/layout/component_ability_score_picker.xml | 3 +-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/components/AbilityScorePicker.java b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/components/AbilityScorePicker.java index 6d15709..a6268e7 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/ui/components/AbilityScorePicker.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/ui/components/AbilityScorePicker.java @@ -35,12 +35,11 @@ public class AbilityScorePicker extends LinearLayout { // TODO: use this as default but allow setting via attribute mLabel = "Ability Score"; - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AbilityScorePicker, 0, 0); - String label = a.getString(R.styleable.AbilityScorePicker_label); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Stepper, 0, 0); + String label = a.getString(R.styleable.Stepper_label); if (label != null) { mLabel = label; } - a.recycle(); LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View root = inflater.inflate(R.layout.component_ability_score_picker, this, true); @@ -70,17 +69,18 @@ public class AbilityScorePicker extends LinearLayout { mHolder.spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { - setValue((AbilityScore) parent.getItemAtPosition(position)); + mSelectedValue = (AbilityScore) parent.getItemAtPosition(position); } @Override public void onNothingSelected(AdapterView parent) { - setValue(mSelectedValue = AbilityScore.STRENGTH); + mSelectedValue = AbilityScore.STRENGTH; } }); mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), mSelectedValue)); setValue(AbilityScore.STRENGTH); + // TODO: listen for changes on the component to update mSelectedValue; } public AbilityScorePicker(@NonNull Context context) { @@ -93,8 +93,7 @@ public class AbilityScorePicker extends LinearLayout { public void setValue(AbilityScore value) { if (value != mSelectedValue) { - mSelectedValue = value; - mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), value)); + mHolder.spinner.setSelection(ArrayHelper.indexOf(AbilityScore.values(), mSelectedValue)); if (mOnValueChangedListener != null) { mOnValueChangedListener.onValueChanged(value); } @@ -125,7 +124,7 @@ public class AbilityScorePicker extends LinearLayout { private final Spinner spinner; private final TextView label; - ViewHolder(@NonNull View root) { + ViewHolder(View root) { spinner = root.findViewById(R.id.spinner); label = root.findViewById(R.id.label); } diff --git a/Android/app/src/main/res/layout/component_ability_score_picker.xml b/Android/app/src/main/res/layout/component_ability_score_picker.xml index c47a653..a7c6f52 100644 --- a/Android/app/src/main/res/layout/component_ability_score_picker.xml +++ b/Android/app/src/main/res/layout/component_ability_score_picker.xml @@ -5,7 +5,6 @@ android:layout_height="match_parent" android:orientation="horizontal" tools:context=".ui.components.AbilityScorePicker"> - - + \ No newline at end of file