2016-09-30 76 views
0

我正在将我们的代码库更新到最新的MVVMCross库。我有读取错误的麻烦:将Android片段转换为MvxFragment

错误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

你看过[MvvmCross AndroidSupport](https://github.com/MvvmCross/MvvmCross-AndroidSupport)库吗?不知道有足够的片段可以帮助,但希望@Stuart很快会找到答案,并为您提供真正的答案。 – pushasha

回答

3

我相信问题是你正在投错类MvxFragment类的类型。

Mvvmcross提供两种MvxFragment类类型匹配的Android所提供的那些:

错误CS0030:无法将类型Android.Support.V4.App.FragmentMvvmCross.Droid.FullFragging.Fragments.MvxFragment

通过你的错误的样子我会说,你正在使用从支持库片段,因此而应使用MvvmCross.Droid.Support.V4.MvxFragment