为了为使用 MvvmCross 的 Android 应用程序提供正确的后退按钮行为,我不得不将LaunchMode
特定视图的SingleTask
. 虽然这工作正常,但当第二次使用这些视图之一时,ViewModel 构造函数和 Init 方法(与一个Nav
类结合使用以将参数从一个视图传递到另一个视图)显然不再被触发。我认为这是“设计使然”或“由 Android 操作系统强制执行”的行为,当您将代码放置在每次显示视图时可能需要调用的构造函数/初始化方法中时(例如 RefreshJobList),您只需要注意这些行为。OnResume
顺便说一句,我的解决方法是在 Activity的方法中调用所需的方法,例如:
((JobDetailViewModel)this.ViewModel).RefreshJobPhotos();
有没有更好的办法”?