У меня есть следующий пользовательский интерфейс, и при нажатии пользователем отображается гендерный список.Spinner issue в MVVMCross
View.axml
<mvvmcross.droid.support.v7.appcompat.widget.MvxAppCompatSpinner
android:layout_width="80dp"
android:layout_height="match_parent"
local:MvxBind="ItemsSource GenderList; SelectedItem GenderCategory" />
Однако в следующем соответствующем ViewController
, независимо от того, что пользователь выбирает, она всегда сохранять первоначальное значение. Например, если spinner показывает Female
, даже если пользователь выбирает Male
, он продолжает показывать Female
.
ViewController.cs
private List<string> _genderList = new List<string>() { "Female", "Male" };
public List<string> GenderList
{
get { return _genderList ; }
set { _genderList = value; RaisePropertyChanged(() => GenderList); }
}
public string GenderCategory
{
get
{
var a = Model.Persons.Where(x => x.PId("12").FirstOrDefault().Gender;
if (a.Equals(Constants.Category.Female))
{
return "Female";
}
else
{
return "Male";
}
}
set
{
if (value.Equals("Female"))
Model.SetGender(Constants.Category.Female, Person.Age);
else {
Model.SetGender(Constants.Category.Male, Person.Age);
}
RaisePropertyChanged(() => Gender);
}
}
Что такое 'Model.Persons.Where (x => x.PId (" 12 "). FirstOrDefault(). Пол' return? Возможно ли t шляпа это значение «женщина»? Это означало бы, что счетчик всегда будет показывать «Женщина» как выбранный пол независимо от того, какой пользователь выбирает. – Plac3Hold3r
yes Он возвращает «Female», но это просто получается, не так ли? Я пытаюсь установить spinner для «Male». Локальная база данных хранит информацию о человеке, и я вызываю этот метод, чтобы найти начальное значение пола, другими словами, я пытаюсь получить соответствующее гендерное значение перед тем, как изменить или установить его на что-то другое. – hotspring
Вместо использования Spinner для Genders, почему бы вам не использовать Radio Group? Я нахожу это более интуитивным, также не забудьте добавить «Другой» вариант, потому что некоторые люди также не идентифицируют его. Как предлагает @ PlaceHold3r, вы всегда _ возвращаете все, что угодно, из вашей модели в ваш геттер, что, вероятно, является вашей проблемой. – Cheesebaron