MVVMCROSS: n `mvxformSDroidPagePresenter` on suunniteltu käsittelemään navigointia Xamarin.Forms -sivuille Android -sovelluksessa. Kuitenkin, kun käsitellään epämuodostuneita puheluita, kuten sellaisia, joihin liittyy alkuperäisiä Android-toimintoja, se ohjaa nämä kutsut `mvxandroidViewPresenter` -sovellukseen. Tämän avulla sovellus voi navigoida saumattomasti Xamarin.Forms -sivujen ja alkuperäisten Android -näkymien välillä.
Tässä on yksityiskohtainen selitys siitä, kuinka `mvxFormSDroidPagePresenter` käsittelee ei-muotoisia puheluita:
1. Ei-muotoisten puheluiden ohjaaminen: Kun pyyntö esitetään näkymä, joka ei ole Xamarin.Forms-sivu (esim. Natiivinen android-toiminta), `mvxformsDroidPagePReSenter` ohjaa tämän pyynnön` mvxandroidViewPresenter`. Tämä esittelijä on vastuussa esityslogiikan käsittelystä alkuperäisille Android -näkymille.
2. toteutus: Tämän uudelleenohjauksen saavuttamiseksi sinun on luotava mukautettu esittelijä, joka laajentaa `mvxformsDroidPagePresenter`. Tässä mukautetussa esittelijässä voit ohittaa `show` -menetelmän tarkistaaksesi, onko näkymämallipyyntö Xamarin.Forms -näkymälle vai natiivi Android -näkymälle. Jos se on tarkoitettu natiiville näkymälle, voit sitten käsitellä esityksen `mvxandroidViewPresenter` -sovellusta.
3. ViewModel -rajapinta: Yksi lähestymistapa Xamarin.Forms- ja Native Android View -mallien erottamiseksi on määritellä rajapinta, kuten `ixfviewModel`, jonka kaikki Xamarin.Forms View -mallit toteuttavat. Mukautetussa esittelijässä voit tarkistaa, toteuttaako näkymämalli tämän käyttöliittymän. Jos se tapahtuu, käsittelet sitä lomakkeina; Muutoin käytät `mvxandroidViewPresenter`.
4 Tämän menetelmän tulisi palauttaa mukautetun esittelijän ilmentymä varmistaen, että sitä käytetään kaikissa näkymäesityksissä.
5. elinkaaren hallinta: Native Android -näkymien osalta sinun on myös hallittava toiminnan elinkaari toteuttamalla `imvxandroidcurrentToPActivity` ja` imvxandroidactivitylifetimelistener`. Tämä varmistaa, että MVVMCross on tietoinen nykyisestä huipputasosta ja pystyy käsittelemään navigointi- ja elinkaaritapahtumia oikein.
Näitä vaiheita noudattamalla voit käsitellä tehokkaasti sekä Xamarin.Forms- että Native Android -näkymiä samassa sovelluksessa MVVMCrossin avulla.
Viittaukset:.
.
[3] https://github.com/mvvmcross/mvvmcross/issues/2802
.
[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
.
.
[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