MvvmCross V5自动从Activity导航

时间:2017-11-09 17:35:35

标签: android-fragments xamarin android-activity navigation mvvmcross

我想拥有一个活动,并将我的所有观点都视为碎片。

我之前通过将我的第一个视图作为活动然后立即导航到片段来完成此操作。所有片段都放在活动视图的内容框架中。

我是通过从Activity的OnCreate方法导航到Fragment来实现的。这曾经有用,但是使用MvvmCross我无法使用它。

我在Activity视图模型上有一个执行导航的方法

public async Task ShowMainView()
{
    await navigationService.Navigate<MainViewModel>();
}

这是从活动中的OnCreateView调用的。

ViewModel.ShowMainView.ContinueWith((task) =>
{
   // have now completed navigation
});

我发现MainViewModel构造函数被调用但没有别的吗?

关于为什么这不起作用或我应该如何做得更好的任何想法。

1 个答案:

答案 0 :(得分:3)

问题不在于我从哪里进行导航,这是使用演示者的问题。我发现它正在抛出一条带有消息的例外

  

无法创建片段&#39; MainView&#39;。使用MvxAppCompatViewPresenter   使用Android支持片段时。

我通过在Android项目的Setup.cs文件中设置MvxAppCompatViewPresenter来解决问题,如下所示

        protected override IMvxAndroidViewPresenter CreateViewPresenter()
        {
            return new MvxAppCompatViewPresenter(this.AndroidViewAssemblies);
        }