У меня есть привязка MvvmCross MvxSpinner
в Android. Пользователь выбирает значение и получает отражение в моей собственности MealTypeSelected
.Начальная величина MvxSpinner
<MvxSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
local:MvxBind="ItemsSource MealTypeList;SelectedItem MealTypeSelected, Mode=TwoWay" />
Вращатель позволяет пользователю выбрать тип питания (завтрак, обед, ужин и т. Д.). Тип еды представлен Enum под названием MealType
.
public enum MealType {Unspecified, Breakfast, Lunch, Dinner, Snack};
Я хочу, чтобы сделать его легче на пользователе инициализации блесны до значения на основе времени суток, когда ViewModel
показано. Поэтому, если страница загружена в полдень, я думаю, что выбор должен быть, например, «Обедом».
Проблема заключается в том, я попытался установить MealTypeSelected
свойство в ViewModel
в разных местах жизненного цикла: конструктор, Init
и Start
. Но независимо от того, что я делаю, когда View load, он меняет выбор назад на значение по умолчанию Enum, которое является значением «Unspecified».
Есть ли способ обойти это поведение и присвоить значение MvxSpinner
конкретному значению?
Из того, что я помню, автоматический счетчик выбирает начальное значение в своем ItemsSource. Вы можете инициализировать ItemsSource для Spinner, чтобы первый индекс был конкретным MealType для времени суток. – pnavk
Это сработало, но теперь мой список счетчиков - «Обед, Unspecified, завтрак, обед, ужин, закуска», когда пользователь нажимает на него. Думаю, я мог бы сделать некоторые пользовательские макеты, чтобы прояснить, но это меньше, чем идеально. – thedigitalsean