Ich habe vor kurzem eine Klasse namens ViewStub
gefunden, die verwendet werden kann, um eine Layout-Ressource "lazy-load". Die Benutzung ist sehr einfach:MvvmCross Android ViewStub
In der Layout-Datei Ich verwende:
<ViewStub
android:id="@+id/content_stub"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Und in meinem Code:
var stub = this.FindViewById<ViewStub>(Resource.Id.content_stub);
stub.LayoutResource = Resource.Layout.FirstView;
stub.Inflate();
jedoch, auf diese Weise die Bindungen wird nicht funktionieren! Ich weiß, dass mit mvvmcross ich BindingInflate
anrufen muss, aber diese Methode ist nicht für eine ViewStub
Ich suchte nach etwas wie MvxViewStub
, aber ich konnte nichts finden.
Also, gibt es eine Möglichkeit, irgendwie die verbindliche Arbeit mit dem ViewStub zu bekommen? Danke für Ihre Hilfe.
Meh. Ich schrieb die Antwort mit fast demselben Code. Ja, es ist der richtige Weg :) Ich würde vorschlagen, eine ordentliche Erweiterungsmethode dafür zu schreiben. –