Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hogyan kezeli az mvxFormSDroidPagePresenter nem formákat


Hogyan kezeli az mvxFormSDroidPagePresenter nem formákat


Az MVVMCross -ban az MVXFormSDroidPagePresenter "-et úgy tervezték, hogy kezelje a navigációt a Xamarin.Forms oldalakon egy Android alkalmazáson belül. Amikor azonban a nem formájú hívásokkal, például a natív Android tevékenységekkel foglalkozó hívásokkal foglalkozik, ezeket a hívásokat átirányítja egy „MvxandroidViewPresenter” -re. Ez lehetővé teszi az alkalmazás számára, hogy zökkenőmentesen navigáljon a Xamarin.Forms oldalak és a natív Android nézetek között.

Íme egy részletes magyarázat arról, hogy az `mvxFormSdroidPagePresenter 'hogyan kezeli a nem formák hívásait:

1. A nem formák hívásainak átirányítása: Ha kérést kell benyújtani egy olyan nézet megjelenítésére, amely nem xamarin.forms oldal (például natív android tevékenység), az „mvxFormSdroidpagePresenter” átirányítja ezt a kérést egy „MvxandroidViewPresenter” -re. Ez a műsorvezető felelős a natív Android nézetek prezentációs logikájának kezeléséért.

2. Végrehajtás: Ennek az átirányításnak a eléréséhez létrehoznia kell egy egyedi műsorvezetőt, amely kiterjeszti a „MvxFormSDroidPagePresenter” -et. Ebben az egyéni műsorvezetőben felülbírálhatja a „Show” módszert annak ellenőrzésére, hogy a nézetmodell -kérés xamarin.forms nézetre vagy natív Android nézetre vonatkozik -e. Ha ez egy natív nézetre szól, akkor a „MvxandroidViewPresenter” használatát használhatja a bemutató kezelésére.

3. ViewModel interfész: A Xamarin.Forms és a natív Android nézetmodellek megkülönböztetésének egyik megközelítése egy olyan interfész meghatározása, mint például az „ixfviewModel”, amelyet az összes Xamarin.Forms nézet modell végrehajt. Az egyéni műsorvezetőben ellenőrizheti, hogy a nézetmodell megvalósítja -e ezt a felületet. Ha igen, akkor az űrlap nézetként kezeli; Ellenkező esetben a „mvxandroidviewPresenter” -et használja.

4. regisztráció: Az egyéni műsorvezető használatához felül kell írnia a „CreateViewPresenter” módszert az MVVMCross beállítási osztályban. Ennek a módszernek vissza kell adnia az egyéni műsorvezető egy példányát, biztosítva, hogy az összes megtekintési előadáshoz használják.

5. Életciklus -kezelés: A natív Android nézetekhez az aktivitás életciklusának kezelésére is kell kezelnie az „imvxandroidCurrentTopactivity” és az „imvxandroidactivitylifetimelistener” megvalósítását. Ez biztosítja, hogy az MVVMCross tisztában legyen a jelenlegi felső tevékenységgel, és megfelelően képes kezelni a navigációt és az életciklus eseményeit.

Ezeknek a lépéseknek a követésével hatékonyan kezelheti mind a Xamarin.Forms, mind a natív Android nézeteket ugyanazon alkalmazáson belül az MVVMCross segítségével.

Idézetek:
[1] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-android-ctivity- 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-for-thhat-contains-a-subform-a-on-to-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
[8] https://www.googlecloudcommunity.com/gc/appsheet-q-a/system-doesn-t-generate-detail-and-form-view-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