回答

2

我已經更新的例子來說明如何做導航和回棧處理:https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/44

我現在意識到,這可能不是太方便了,所以我想在添加此:

protected void ShowFragment(string tag, int contentId, Bundle bundle = null, bool addToBackStack = false)

到CachingFragment類。這將使您能夠將其添加到演示者的show方法中。

+0

聽起來好像很好用 –

+0

新版本已經發布,包括補丁的補丁:https://www.nuget.org/packages/Cirrious.MvvmCross.Droid.Support.Fragging/4.0。 0-α-2 – Martijn00

+0

我增加更多修復這個問題:https://github.com/MvvmCross/MvvmCross-AndroidSupport/pull/51 – Martijn00

1

我發現這樣做到底,最好的辦法是重寫OnFragmentChanging方法。這樣,您就可以將特定片段選擇性地添加到後退堆棧:

public override void OnFragmentChanging(string tag, FragmentTransaction transaction) 
    { 
     if (tag == typeof (MyViewModel).Name) 
      transaction.AddToBackStack(typeof (MyViewModel).Name); 
     base.OnFragmentChanging(tag, transaction); 
    }