我有一個活動,它承載了框架佈局中的片段。如果我將顯示的片段更改爲另一片段,則片段不會添加到後備堆棧,因此使用「後退」按鈕將直接關閉應用程序而不是導航回(FragmentManager.BackStackEntryCount在OnBackPressed中始終爲0 ()-回電話)。如何添加一個片段到MvvmCross 4.0中的後臺堆棧?
在承載片段「MainActivity」的視圖模型我經由ShowViewModel顯示片段<> -method:
public class MainViewModel : MvxViewModel
{
public IMvxCommand ShowHomeCommand
{
get { return new MvxCommand(ShowHomeExecuted); }
}
private void ShowHomeExecuted()
{
ShowViewModel<HomeViewModel>();
}
}
片段級具有註解的視圖模型分配給一個宿主活動:
[MvxFragment(typeof(MainViewModel), Resource.Id.fragment_container)]
[Register("namespace.of.HomeFragment")]
我使用默認AndroidViewPresenter在我的設置類:
protected override IMvxAndroidViewPresenter CreateViewPresenter()
{
var mvxFragmentsPresenter = new MvxFragmentsPresenter(AndroidViewAssemblies);
Mvx.RegisterSingleton<IMvxAndroidViewPresenter>(mvxFragmentsPresenter);
return mvxFragmentsPresenter;
}
我期望在MvxFragment-Attribut或MvxFragment-class中有一個參數「AddToBackstack」或類似的東西,但是沒有這樣的東西。我錯過了什麼,或者目前是否在MvvmCross 4.0的新片段機制中不支持後備堆棧?