Ich möchte MVVMCross verwenden, aber für meine Android-Anwendung möchte ich auch andere Bibliotheken verwenden (Schiebe-Menü und Aktionsleiste), die erfordern, dass ich meine Aktivitätsklassen von ihrer benutzerdefinierten Klasse erben. Das hindert mich daran, MvxActivity zu erben, aber ich habe bemerkt, dass Sie in MVVMCross für iOS alle Ihre Bindungen im Code ausführen können (siehe Ссылка )
%Vor%Gibt es eine Möglichkeit, das in Android zu tun?
Ja - Sie können fließende Bindungen in Android verwenden, wenn Sie möchten.
Genau der gleiche Code sollte funktionieren.
Sie müssen Referenzen auf die ui-Steuerelemente mit FindViewById<Type>()
erhalten, dann können Sie sie binden.
Zum Beispiel können Sie in TipCalc identifizierte Steuerelemente hinzufügen wie:
%Vor%und implementieren Sie anschließend die Bindung mit:
%Vor%Zusätzlich können Sie jede FooActivity in eine datenbindende MvxFooActivity umwandeln:
Um zu sehen, den Code erforderlich, siehe:
Sie werden den gleichen Code in allen mvx-angepassten Aktivitäten sehen - MvxActivity, MvxTabActivity, ... Es gibt hier ein wenig cut-and-paste, aber so viel Code wie möglich ist Platz in geteilten Erweiterungsmethoden.
In früheren Versionen haben Nutzer diese Technik verwendet, um Monogame- und Google-Anzeigenaktivitäten zu binden - siehe z. B. Fügen Sie eine Monogame-Ansicht in die MvvmCross monodroid-Aktivität ein
Tags und Links xamarin xamarin.android mvvmcross