Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon mvxformsdroidpagepresenter는 비 형식의 호출을 어떻게 처리합니까?


mvxformsdroidpagepresenter는 비 형식의 호출을 어떻게 처리합니까?


MVVMCross의 'MVXFormsDroidPagePresenter`는 Android 애플리케이션 내에서 Xamarin.forms 페이지의 내비게이션을 처리하도록 설계되었습니다. 그러나 기본 Android 활동과 관련된 비 형식의 통화를 처리 할 때 이러한 호출을`mvxandroidviewpresenter`로 리디렉션합니다. 이를 통해 응용 프로그램은 Xamarin.forms 페이지와 기본 Android보기를 원활하게 탐색 할 수 있습니다.

다음은`mvxformsdroidpagepresenter`가 비 전형적인 호출을 처리하는 방법에 대한 자세한 설명입니다.

1. 비 형식 호출 리디렉션 : Xamarin.forms 페이지 (예 : 기본 Android 활동)가 아닌보기를 표시하도록 요청하면`mvxformsdroidpagepresenter`는이 요청을 'mvxandroidviewpresenter'로 리디렉션합니다. 이 발표자는 기본 Android보기에 대한 프레젠테이션 논리를 처리 할 책임이 있습니다.

2. 구현 :이 리디렉션을 달성하려면 'mvxformsdroidpagepresenter'를 확장하는 사용자 정의 발표자를 만들어야합니다. 이 사용자 정의 발표자에서`show '메소드를 무시하여보기 모델 요청이 Xamarin.forms보기 또는 기본 Android보기인지 확인할 수 있습니다. 기본보기 인 경우`mvxandroidviewpresenter '를 사용하여 프레젠테이션을 처리 할 수 ​​있습니다.

3. ViewModel 인터페이스 : Xamarin.forms와 기본 Android보기 모델을 구별하는 한 가지 방법은 모든 Xamarin.forms 뷰 모델에서 구현하는`ixfviewmodel`과 같은 인터페이스를 정의하는 것입니다. 사용자 정의 발표자에서 View 모델 이이 인터페이스를 구현하는지 확인할 수 있습니다. 그렇다면 양식보기로 처리합니다. 그렇지 않으면`mvxandroidviewpresenter`를 사용합니다.

4. 등록 : 사용자 정의 발표자를 사용하려면 MVVMCross 설정 클래스에서 'CreateViewPresenter'메소드를 무시해야합니다. 이 방법은 사용자 정의 발표 인스턴스를 반환하여 모든 뷰 프레젠테이션에 사용되도록해야합니다.

5. 수명주기 관리 : 기본 Android 뷰의 경우`imvxandroidcurrentTopactivity` 및`imvxAndroidActivityLifetimElistener`를 구현하여 활동 라이프 사이클을 관리해야합니다. 이를 통해 MVVMCross는 현재 최고 활동을 알고 내비게이션 및 수명주기 이벤트를 올바르게 처리 할 수 ​​있습니다.

이 단계를 수행하면 MVVMCross를 사용하여 동일한 응용 프로그램 내에서 Xamarin.forms 및 기본 Android보기를 효과적으로 처리 할 수 ​​있습니다.

인용 :
[1] https://stackoverflow.com/questions/35912706/mvvmcross-hybrid-xamarin-forms-and-denroid-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-to-many-form-many-form-many-form-many-form-many-form-many-form-822f-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-my-table-view/m-p/527393
[9] https://stackoverflow.com/questions/38181508/login-page-with-xamarin-mvmcross-forms-preventing-back-navation-ondroid
[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