【问题标题】:Viewmodel Initialize() not called after starting activity via intent通过意图启动活动后未调用 Viewmodel Initialize()
【发布时间】:2017-11-30 10:46:00
【问题描述】:

我需要显示一个没有以前的导航堆栈等的视图模型/视图。szenario 是一个注销,它重定向到一个新的登录视图。
为此,我尝试使用 ActivityFlags.ClearTask 和 ActivityFlags.NewTask 启动新活动以重置导航等。我的 viewpresenter 继承自 MvxAppCompatViewPresenter,从 viewmodel-request 创建 Intent,添加所需的活动标志和启动它。

创建并导航到活动和相关视图模型,但从不调用视图模型上的 Initialize() 方法。
项目目前使用mvvmcross 5.4.2。

示例代码:

var intent = base.CreateIntentForRequest(request);
intent.SetFlags(ActivityFlags.ClearTask | ActivityFlags.NewTask);

base.ShowIntent(intent);

我做错了什么?

【问题讨论】:

    标签: c# android xamarin android-intent mvvmcross


    【解决方案1】:

    Initialize 方法仅在使用 MvxNavigationServiceuntil MvvmCross 5.5 时被调用。要么更新它以修复它,要么使用MvxNavigationService

    更多信息在文档中。 https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle#tombstoning-saving-and-restoring-the-viewmodels-state

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-10
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 2015-08-04
      • 2020-12-11
      相关资源
      最近更新 更多