android-fragments - MvvmCross V5自动从Activity导航

标签 android-fragments xamarin android-activity navigation mvvmcross

我想要一个单一的 Activity,并将我的所有 View 都作为片段。

我之前已经这样做过,将我的第一个 View 作为 Activity ,然后立即导航到片段。所有片段都放置在“Activity ” View 的内容框架中。

我通过从 Activity 的 OnCreate 方法导航到 Fragment 来完成此操作。这曾经有效,但是使用 MvvmCross 我无法让它工作。

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

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

这是从 Activity 中的 OnCreateView 调用的。

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

我发现 MainViewModel 构造函数被调用,但没有其他内容?

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

最佳答案

问题不在于我从哪里进行导航,而是使用的演示器存在问题。我发现它抛出了消息异常

Cannot create Fragment 'MainView'. Use the MvxAppCompatViewPresenter when using Android Support Fragments.

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

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

关于android-fragments - MvvmCross V5自动从Activity导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47208205/

相关文章:

android - 如何使 DialogFragment 宽度为 Fill_Parent

android - 返回到 Android 中返回堆栈中的不同 Activity

Xamarin.Android 版本号似乎不一致

c# - xamarin 中构建的 Android 后台位置正在永远占用

c# - OnBackButtonPressed 不触发 Xamarin 表单

java - 从所有 Activity/类中删除一行代码

android - restartLoader 中的 NullpointerException

Android BackStack 问题

Android拦截 session 错误的通用模式,用屏幕处理错误,在错误前的同一点继续

java - 如何在 android 中使用 viewpager 时在 fragment 之间传递值