如何从viewpresenter获取视图。
var viewpresenter = Mvx.Resolve<IMvxAndroidViewPresenter>();
viewpresenter.Show(new MvxViewModelRequest(typeof(IVP), null, null, null));
感谢。
答案 0 :(得分:1)
我不确定您要执行的操作,但是您要执行导航的代码。在这种情况下,您应该使用Navigation service(要求Mvx&gt; = 5,否则请使用ShowViewModel
中的ViewModel/MvxNavigatingObject
)并使用它:
var navigationService = Mvx.Resolve<IMvxNavigationService>();
await navigationService.Navigate<MyViewModel>();
如果您想要自定义导航,请致电
await navigationService.ChangePresentation(new MyCustomPresentationHint());
并在自定义演示文稿中覆盖ChangePresentation(MvxPresentationHint hint)
以添加自定义演示逻辑。
Presenter不是解决方法,而是通过导航服务直接使用它。
Here是Android Presenter的源代码,您可以从中看到无法直接获取当前视图。如果您想知道哪个是您当前的活动,您可以使用
var currentActivity = Mvx.Resolve<IMvxAndroidCurrentTopActivity>().Activity;
HIH