Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ako manipuluje s volaniami MVXFormsDroidPagePresenter


Ako manipuluje s volaniami MVXFormsDroidPagePresenter


„MVXformsdroidpagePagePresenter` v MVVMCross je navrhnutý tak, aby zvládal navigáciu pre stránky Xamarin.Forms v aplikácii Android. Pri riešení hovorov bez formy, ako sú napríklad tie, ktoré sa týkajú pôvodných aktivít s Androidom, presmeruje tieto výzvy na „MVXandroidViewPresenter“. To umožňuje, aby aplikácia plynulo prechádzala medzi stránkami Xamarin.Forms a natívnymi zobrazeniami Android.

Tu je podrobné vysvetlenie toho, ako „MVXformsdroidpagepresenter“ zavádza hovory bez foriem:

1. Presmerovanie hovorov bez formy: Ak sa podá žiadosť na zobrazenie zobrazenia, ktoré nie je stránka Xamarin.Forms (napr. Natívna aktivita Android), `mvxformsdroidPagePagePresenter` presmeruje túto požiadavku na„ mvxandroidViewPresenter`. Tento moderátor je zodpovedný za riešenie logiky prezentácie pre natívne zobrazenia Android.

2. Implementácia: Na dosiahnutie tohto presmerovania musíte vytvoriť vlastného moderátora, ktorý rozširuje `mvxformsdroidpagepresenter`. V tomto vlastnom moderátorke môžete prepísať metódu `Show`, aby ste skontrolovali, či je požiadavka modelu View pre zobrazenie Xamarin.Forms alebo natívne zobrazenie Android. Ak je to pre natívne zobrazenie, môžete na zvládnutie prezentácie použiť `mvxandroidViewPresenter`.

3. Rozhranie ViewModel: Jeden prístup k rozlíšeniu medzi xamarin.Forms a natívnym modelom Android View je definovať rozhranie, ako je `IXFViewModel`, ktorý implementuje všetky modely Xamarin.Forms View Models. Vo svojom vlastnom moderátore môžete skontrolovať, či model zobrazenia implementuje toto rozhranie. Ak sa tak stane, zvládnete to ako pohľad na formuláre; V opačnom prípade používate `mvxandroidViewPresenter`.

4. Registrácia: Ak chcete používať svoj vlastný moderátor, musíte prepísať metódu „CreateViewPresenter` v triede nastavenia MVVMCross. Táto metóda by mala vrátiť inštanciu vášho vlastného moderátora a zabezpečiť, aby sa používa na všetky prezentácie zobrazenia.

5. Správa životného cyklu: Pre natívne zobrazenia Android musíte tiež spravovať životný cyklus aktivity implementáciou `IMVXandroidCurrenttopActivity` a` IMVXandroidActivitivityLifeTimeLIGENTER`. To zaisťuje, že MVVMCross si je vedomý aktuálnej najvyššej aktivity a dokáže správne zvládnuť navigáciu a udalosti životného cyklu.

Podľa týchto krokov môžete efektívne spracovať Xamarin.Forms a Native Android pohľady v rámci tej istej aplikácie pomocou MVVMCross.

Citácie:
[1] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-android-android-activity-application
[2] https://stackoverflow.com/questions/36599398/mvvmcross-with-xamarin-forms-and-masterdetail
[3] https://github.com/mvvmcross/mvvmcross/issues/2802
Https://support.microsoft.com/en-us/office/create-a-form-that-contains-a-subform-a-one-to-many--many-form-ddf3822f-8aba-49cb-831a-1e74d6f5f06b
[5] https://michaelridland.com/xamarin/mixing-xamarin-forms-mvvmcross-nativeviews/
[6] https://xamarin97.rssing.com/chan-50656755/article24666.html
[7] https://xamarin91.rssing.com/chan-50628054/all_p539.html
Https://www.googlecloudCommunity.com/gc/appset-q-a/system-doesn---generate-detail-and--form-aview-for-my-table-view/m-p/527393
[9] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvvvmcross-forms-preventing-back-avigation-on--android
[10] https://help.smartsuite.com/en/articles/6267415-form-view
[11] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms-view-presenter
[12] https://ridland2.rssing.com/chan-57660607/all_p1.html