替换MvxCachingFragmentCompatActivity和Backstack

时间:2018-03-04 02:09:13

标签: mvvmcross

我一直在将MVVMCross项目升级到v5.6.3

主要是那里,但我有一个问题。我已经阅读并消化了这个SO answer

在我继承自MvxCachingFragmentCompatActivity类的旧代码中,我有以下方法重载:

public override void OnBeforeFragmentChanging(IMvxCachedFragmentInfo fragmentInfo, Android.Support.V4.App.FragmentTransaction transaction)
{
    var currentFrag = SupportFragmentManager.FindFragmentById(Resource.Id.content_frame) as MvxFragment;

    if (currentFrag != null && fragmentInfo.ViewModelType != typeof(MenuViewModel)
        && currentFrag.FindAssociatedViewModelType(typeof(MainViewModel)) != fragmentInfo.ViewModelType)
        fragmentInfo.AddToBackStack = true;

    base.OnBeforeFragmentChanging(fragmentInfo, transaction);
}

现在由MVVMCross处理向后台添加片段的责任吗?或者是否有替代方法,我本想超载?

我的观察结果是片段被添加到后台堆栈中,当我点击后退按钮时,前面的片段加载就证明了这一点。

如果可能,只是想澄清一下。

干杯

0 个答案:

没有答案