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

时间:2018-05-21 20:56:49

标签: android android-fragments xamarin.android mvvmcross

我是MvvmCross的新手。我正在使用Mvx v6.0.1开发应用程序。 我想使用片段(特别是4个片段或4个步骤)制作一种步进器,所有这些片段都嵌入到主要活动中。主要活动布局有一个按钮,当我点击这些按钮片段时切换到下一步。我为每个片段创建了一个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
    }

但是当我这样做时,应用程序永远不会从启动画面传递出来。

我希望自己解释,有人帮助我解决这个问题&#34;。

提前致谢。

0 个答案:

没有答案