重用具有多个片段的单个ViewModel。MvvmCross Android

重用具有多个片段的单个ViewModel。MvvmCross Android,android,android-fragments,xamarin.android,mvvmcross,Android,Android Fragments,Xamarin.android,Mvvmcross,我是MvvmCross的新手。我正在使用MVXV6.0.1开发一个应用程序。 我想使用片段(特别是4个片段或4个步骤)制作一种步进器,所有这些片段都嵌入到主活动中。主活动布局有一个按钮,当我点击这些按钮时,片段切换到下一步。我为每个片段创建了一个viewmodel,为主要活动创建了一个viewmodel。我的问题是,我需要从每个步骤中获取一些值,并传递到下一个步骤。 我试图为每个视图(片段和活动)共享一个viewmodel。有没有办法做到这一点 如果是,我如何区分每个步骤/片段,以便在它们之间导

我是MvvmCross的新手。我正在使用MVXV6.0.1开发一个应用程序。 我想使用片段(特别是4个片段或4个步骤)制作一种步进器,所有这些片段都嵌入到主活动中。主活动布局有一个按钮,当我点击这些按钮时,片段切换到下一步。我为每个片段创建了一个viewmodel,为主要活动创建了一个viewmodel。我的问题是,我需要从每个步骤中获取一些值,并传递到下一个步骤。 我试图为每个视图(片段和活动)共享一个viewmodel。有没有办法做到这一点

如果是,我如何区分每个步骤/片段,以便在它们之间导航

我试图将相同的viewmodel设置为Activity和fragment:

   //Activity code
   public class AttendanceActivity : BaseActivity<AttendanceViewModel>
   {
       protected override int ActivityLayoutId => Resource.Layout.activity_attendance;

       //some logic
   }

   //Fragment code
   [MvxFragmentPresentation(ActivityHostViewModelType = typeof(AttendanceViewModel),
    FragmentContentId = Resource.Id.attendance_content_frame,
    AddToBackStack = true)]
    public class AttendanceFragmentSetpOne : BaseFragment<AttendanceViewModel>, IOnClickListener
    {
        protected override int FragmentLayoutId => Resource.Layout.fragment_attendance_step_one;

        //Some logic
    }
//活动代码
公共课堂参与活动:基本活动
{
受保护的覆盖int-ActivityLayoutId=>Resource.Layout.activity\u;
//一些逻辑
}
//片段代码
[MvxFragmentPresentation(ActivityHostViewModelType=typeof(AttendanceViewModel),
FragmentContentId=Resource.Id.attention\u content\u frame,
AddToBackStack=true)]
公共课堂出席人数FragmentSetPone:BaseFragment,IOnClickListener
{
受保护覆盖int FragmentLayoutId=>Resource.Layout.fragment\u考勤\u步骤\u一;
//一些逻辑
}
但当我这样做的时候,应用程序永远不会从闪屏上通过

我希望自己解释一下,有人帮我解决这个“问题”


提前感谢。

您好,我不明白
4个片段或4个步骤中的步骤
哦,那是因为我的应用程序的每个步骤都是一个片段,有自己的布局。基本上我是在“步骤1”(片段1)启动应用程序的,然后我必须捕获一些值。当我点击此视图中的按钮时,我必须导航到“步骤2”视图(片段2)并传递捕获的值(从步骤1到步骤2),这一行为在4个步骤中是相同的。您好,您解决了吗?您好,我没有找到任何示例或可能的解决方案。我在读有关MvvmCross Facades的文章,我认为这是我最好的选择,但我还没有测试它。