使用MvxViewModel.ShowViewModel<>导航回现有活动和FLAG_ACTIVITY_CLEAR_TOP标志

时间:2013-10-23 20:47:52

标签: android android-intent xamarin.android xamarin mvvmcross

我正在使用Xamarin和MvvmCross来创建Android应用。 我正在尝试从我的孩子ViewModel(视图,活动,等等)导航到我的父ViewModel。假设我有后退A-> B-> C并且我试图从C导航到A,其中C和B被破坏并且A被重新激活。

在这里我可以使用FLAG_ACTIVITY_CLEAR_TOP和使用Intent类导航:

var startActivityIntent = new Intent(this, typeof(MainView));
startActivityIntent.SetFlags(ActivityFlags.ClearTop);
StartActivity(startActivityIntent);

并且它工作正常(除了我的父活动A被销毁并创建新的而不是重新启动的事实。

但我需要导航逻辑在我的ViewModel(核心库,在所有平台上共享)。

从PCL导航回现有活动的正确方法是什么(使用MvxViewModel.ShowViewMode()方法)

谢谢!

2 个答案:

答案 0 :(得分:2)

ViewModel中,您只需使用Close(this)

答案 1 :(得分:0)

在活动类A

上有[Activity(LaunchMode = LaunchMode.SingleTask)]属性