我正在将我们的代码库更新为最新的MVVMCross库。我遇到的错误是:
错误CS0030:无法转换类型
Android.Support.V4.App.Fragment' to
MvvmCross.Droid.FullFragging.Fragments.MvxFragment' (CS0030)(QualBoard.Mobile.Droid)
代码:
public override Fragment GetItem(int position)
{
var frag = Fragments.ElementAt(position);
var fragment = Fragment.Instantiate(_context,
FragmentJavaName(frag.FragmentType));
((MvxFragment)fragment).DataContext = frag.ViewModel;
return fragment;
}
问题子行是:((MvxFragment)fragment).DataContext = frag.ViewModel;
。
我无法将我应该在MVVMCross版本4中使用的内容放在一起,以取代之前使用的内容。
答案 0 :(得分:3)
我认为问题是您正在使用错误的MvxFragment
类类型。
Mvvmcross提供两种MvxFragment
类类型来匹配Android中提供的类型:
MvvmCross.Droid.FullFragging.Fragments.MvxFragment
。此类与API 11中引入的原生Android Fragment
匹配。MvvmCross.Droid.Support.V4.MvxFragment
。此类与Android Support Library Fragmets匹配。错误CS0030:无法将类型
Android.Support.V4.App.Fragment
转换为MvvmCross.Droid.FullFragging.Fragments.MvxFragment
根据您的错误,我会说您正在使用支持库中的片段,因此应该使用MvvmCross.Droid.Support.V4.MvxFragment
。