„MVXFormsDroidPagePresenter“ „MVVMCross“ yra skirtas valdyti navigaciją „Xamarin.Forms“ puslapiuose „Android“ programoje. Tačiau, kalbant apie neformavimo skambučius, tokius kaip vietinė „Android“ veikla, ji nukreipia šiuos skambučius į „mvxandroidviewPresenter“. Tai leidžia programai sklandžiai naršyti tarp „Xamarin.Forms“ puslapių ir vietinių „Android“ rodinių.
Čia pateiktas išsamus paaiškinimas, kaip „mvxFormsDroidPagePresenter“ tvarko neformų skambučius:
1. Peradresuojant neformacijas Šis laidos vedėjas yra atsakingas už vietinių „Android“ rodinių pristatymo logikos tvarkymą.
2. Įgyvendinimas: Norėdami pasiekti šį peradresavimą, turite sukurti pasirinktinį pranešėją, kuris pratęstų „mvxFormsDroidPagePresenter“. Šiame pasirinktiniame pranešėjoje galite nepaisyti „show“ metodo, kad patikrintumėte, ar rodinio modelio užklausa yra „Xamarin.Forms“ rodinyje ar vietiniame „Android“ rodinyje. Jei jis skirtas vietiniam vaizdui, pristatymui tvarkyti galite naudoti „MvxandroidViewPresenter“.
3. „ViewModel“ sąsaja: Vienas būdas atskirti „Xamarin.Forms“ ir „Native Android View“ modelius yra apibrėžti sąsają, tokią kaip „IXFViewModel“, kurią įgyvendina visi „Xamarin.Forms View“ modeliai. Susitartinėje laidoje galite patikrinti, ar „View“ modelis įgyvendina šią sąsają. Jei taip yra, jūs tai tvarkote kaip formų vaizdą; Priešingu atveju jūs naudojate „MvxandroidViewPresenter“.
4. Registracija: Norėdami naudoti savo pasirinktinį laidų vedėją, turite nepaisyti „createViewPresenter“ metodo „MVVMCross“ sąrankos klasėje. Šis metodas turėtų grąžinti jūsų pasirinktinio laidos vedėjo egzempliorių, užtikrinant, kad jis naudojamas visoms peržiūros pristatymams.
5. Gyvenimo ciklo valdymas: Vietiniams „Android“ rodiniams taip pat reikia valdyti veiklos gyvavimo ciklą, įdiegdami „IMVXandroidCurrentToPactivity“ ir „IMVXandroidActivityLifetimelistener“. Tai užtikrina, kad MVVMCross žino apie dabartinę aukščiausią veiklą ir galėtų tinkamai tvarkyti navigacijos ir gyvavimo ciklo įvykius.
Atlikdami šiuos veiksmus, naudodamiesi „MVVMCross“, galite efektyviai tvarkyti ir „Xamarin.Forms“, ir „Native Android“ rodinius toje pačioje programoje.
Citatos:[1] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-android-activity-application
[2] https://stackoverflow.com/questions/36599398/mvvmcross-with-xamarin-forms-and-Masterdetail
[3] https://github.com/mvvmcross/mvvmcross/issues/2802
[4] https://support.microsoft.com/en-us/office/create-a-form-that-contains-a-subform-a-on-o-thy-form-ddf3822f-8aba-49cb-831a-1e74d6f5f06b
[5] https://michaelridland.com/xamarin/mixing-xamarin-forms-mvvmcross-nativeviews/
[6] https://xamarin97.rssing.com/chan-50656755/article246666.html
[7] https://xamarin91.rssing.com/chan-50628054/all_p539.html
[8] https://www.googlecloudcommunity.com/gc/appsheet-q-a/system--doesn-------morm--form-view-cor-my-table-view/m-p/527393
[9] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvvmcross-forms-preventing-back-navigation-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