将MvvmCross升级到5.2会在CustomAndroidPresenter上显示错误
将MvvmCross从5.1升级到5.2后,我的CustomAndroidPresenter.cs抛出构建错误.是什么原因造成的?
After upgrading MvvmCross from 5.1 to 5.2 , my CustomAndroidPresenter.cs is throwing a build error. What is causing this?
CustomAndroidPresenter.cs:
CustomAndroidPresenter.cs:
namespace TestPrjDroid
{
public class CustomAndroidPresenter : MvxAndroidViewPresenter
{
public override void Show(MvxViewModelRequest request)
{
if (request != null && request.PresentationValues != null)
{
if (request.PresentationValues.ContainsKey("MyCustomFlag"))
{
// Get intent from request and set flags to clear backstack.
var intent = base.CreateIntentForRequest(request);
intent.AddFlags(ActivityFlags.ClearTask | ActivityFlags.ClearTop | ActivityFlags.NewTask);
base.Show(intent);
return;
}
}
base.Show(request);
}
}
}
错误:
没有给出与所需形式相对应的参数 的参数"androidViewAssemblies" 'MvxAndroidViewPresenter.MvxAndroidViewPresenter(IEnumerable)'
There is no argument given that corresponds to the required formal parameter 'androidViewAssemblies' of 'MvxAndroidViewPresenter.MvxAndroidViewPresenter(IEnumerable)'
参数1:无法从"Android.Content.Intent"转换为 'MvvmCross.Core.ViewModels.MvxViewModelRequest'
Argument 1: cannot convert from 'Android.Content.Intent' to 'MvvmCross.Core.ViewModels.MvxViewModelRequest'
您需要为MvxAndroidViewPresenter(IEnumerable)
添加构造函数:
You need to add a constructor for MvxAndroidViewPresenter(IEnumerable)
:
public class CustomAndroidPresenter : MvxAndroidViewPresenter
{
public CustomAndroidPresenter(IEnumerable<Assembly> androidViewAssemblies) : base(androidViewAssemblies)
{
}
public override void Show(MvxViewModelRequest request)
{
if (request != null && request.PresentationValues != null)
{
if (request.PresentationValues.ContainsKey("MyCustomFlag"))
{
// Get intent from request and set flags to clear backstack.
var intent = base.CreateIntentForRequest(request);
intent.AddFlags(ActivityFlags.ClearTask | ActivityFlags.ClearTop | ActivityFlags.NewTask);
base.ShowIntent(intent);
return;
}
}
base.Show(request);
}
}