From 5c1f669b2bd12589904a5895c0c5f47be8e0159b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rom=C3=A1n?= Date: Mon, 21 Sep 2020 19:12:57 +0200 Subject: [PATCH] Bugfix: spinner adapter needed notifyDataSetChanged to reload intervals with unit when user change from km to mi and the other way around. --- .../dennisguse/opentracks/fragments/IntervalsFragment.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/fragments/IntervalsFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/IntervalsFragment.java index 4719dfcb1..9ea35c159 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/IntervalsFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/IntervalsFragment.java @@ -44,6 +44,7 @@ public class IntervalsFragment extends Fragment { private String intervalUnit; private IntervalStatisticsAdapter adapter; protected Spinner spinnerIntervals; + private ArrayAdapter spinnerAdapter; private Track.Id trackId; @@ -52,6 +53,7 @@ public class IntervalsFragment extends Fragment { intervalUnit = PreferencesUtils.isMetricUnits(getContext()) ? getContext().getString(R.string.unit_kilometer) : getContext().getString(R.string.unit_mile); if (adapter != null) { adapter.notifyDataSetChanged(); + spinnerAdapter.notifyDataSetChanged(); intervalChanged(); } } @@ -93,7 +95,7 @@ public class IntervalsFragment extends Fragment { spinnerIntervals = view.findViewById(R.id.spinner_intervals); - spinnerIntervals.setAdapter(new ArrayAdapter(getContext(), android.R.layout.simple_spinner_dropdown_item, IntervalStatisticsModel.IntervalOption.values()) { + spinnerAdapter = new ArrayAdapter(getContext(), android.R.layout.simple_spinner_dropdown_item, IntervalStatisticsModel.IntervalOption.values()) { @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { @@ -108,7 +110,8 @@ public class IntervalsFragment extends Fragment { v.setText(v.getText() + " " + intervalUnit); return v; } - }); + }; + spinnerIntervals.setAdapter(spinnerAdapter); spinnerIntervals.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override