Ich habe die folgende Benutzeroberfläche, und es zeigt Geschlecht Liste, wenn der Benutzer klickt.Spinner Problem in der 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" />
jedoch in der folgenden entsprechenden ViewController
, unabhängig davon, welche Benutzer wählt, ist es immer den Anfangswert halten. Zum Beispiel, wenn Spinner zeigt Female
, obwohl Benutzer wählt, zeigt es weiterhin 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);
}
}
Was bedeutet 'Model.Persons.Where (x => x.PId (" 12 "). FirstOrDefault(). Gender' Rückgabe? Ist es möglich t Hat dieser Wert "Weiblich"? Das würde bedeuten, dass der Spinner immer "Female" als das ausgewählte Geschlecht anzeigen wird, unabhängig davon, was der Benutzer auswählt. – Plac3Hold3r
ja Es gibt "Female" zurück, aber es wird nur, oder? Ich versuche, den Spinner auf "Männlich" zu setzen. Die lokale Datenbank speichert Personeninformationen und ich rufe diese Methode an, um den Anfangswert von Geschlecht zu finden, mit anderen Worten, ich versuche, den entsprechenden Geschlechtswert zu erhalten, bevor ich ihn ändere oder auf etwas anderes setze. – hotspring
Anstatt einen Spinner für Gender zu verwenden, verwenden Sie stattdessen eine Radiogruppe? Ich finde das intuitiver, denken Sie auch daran, eine "Andere" -Option hinzuzufügen, weil manche Leute sich auch nicht als solche identifizieren. Wie @ PlaceHold3r andeutet, sind Sie _always_ was auch immer 'a' von Ihrem Model in Ihrem Getter zurückgibt, was wahrscheinlich Ihr Problem ist. – Cheesebaron