MVVMCross für Android - wie in den Code zu binden?

8

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?

    
Sinh Pham 23.05.2013, 21:34
quelle

1 Antwort

11

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:

  • erbt von FooActivity, um Ereignisse aus Ereignissen auf Lebenszeit in einer EventSourceFooActivity
  • bereitzustellen
  • erbt von EventSourceFooActivity, um einen Datenkontext in einer MvxFooActivity
  • bereitzustellen
  • Sie können dann Ihren Code in Aktivitäten schreiben, die von MvxFooActivity
  • stammen

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

    
Stuart 24.05.2013 06:35
quelle