Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Как mvxformsdroidpagepresenter обрабатывает не формирующие вызовы


Как mvxformsdroidpagepresenter обрабатывает не формирующие вызовы


`Mvxformsdroidpagepresenter` в mvvmcross предназначена для обработки навигации для страниц Xamarin.forms в приложении Android. Однако при работе с не образованием вызовов, таких как те, которые включают нативные действия для андроида, он перенаправляет эти вызовы в `mvxandroidvewpresenter '. Это позволяет применению плавно перемещаться между страницами xamarin.forms и собственными видами Android.

Вот подробное объяснение того, как `mvxformsdroidpagepresenter` обрабатывает не формирующие вызовы:

1. Передача не образующих вызовов: когда представлен запрос, чтобы показать представление, которая не является страницей Xamarin.forms (например, нативная активность Android), MvxformSdroidpagePresenter` перенаправляет этот запрос на `mvxAndroidViewpresenter '. Этот докладчик отвечает за обработку логики презентации для собственных видов Android.

2. Реализация: Для достижения этого перенаправления вам необходимо создать пользовательского докладчика, который расширяет `mvxformsdroidpagepresenter`. В этом пользовательском докладчике вы можете переопределить метод «Show», чтобы проверить, предназначен ли запрос модели представления для представления Xamarin.forms или нативного представления Android. Если это для нативного представления, вы можете использовать `mvxandroidviewpresenter` для обработки презентации.

3. Интерфейс ViewModel: Одним из подходов к дифференциации между xamarin.forms и нативными моделями Android View является определение интерфейса, такого как `ixfviewmodel`, который реализован всеми моделями View Xamarin.forms. В своем пользовательском докладчике вы можете проверить, реализует ли модель представления этот интерфейс. Если это так, вы обращаетесь с этим как представление форм; В противном случае вы используете `mvxandroidviewpresenter`.

4. Регистрация. Этот метод должен вернуть экземпляр вашего пользовательского докладчика, гарантируя, что он используется для всех представлений.

5. Управление жизненным циклом: для нативных просмотров Android вам также необходимо управлять жизненным циклом активности, внедряя `imvxandroidcurrenttopactivity` и` imvxandroidactivityLifetimeliMeListerener '. Это гарантирует, что MVVMcross знает о текущей верхней активности и может правильно обрабатывать навигационные и жизненные события.

Следуя этим этапам, вы можете эффективно обрабатывать как Xamarin.forms, так и нативные представления Android в одном и том же приложении с использованием MVVMcross.

Цитаты:
[1] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-anddroid-activity-pplication
[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-ony-t-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-for-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