Mvvmcross Android-膨胀类时出错:ClassNotFoundException
尝试膨胀xml文件时,OnViewModelSet()函数中出现错误 打电话的时候Mvvmcross Android-膨胀类时出错:ClassNotFoundException,android,xamarin,mvvmcross,xamarin.android,Android,Xamarin,Mvvmcross,Xamarin.android,尝试膨胀xml文件时,OnViewModelSet()函数中出现错误 打电话的时候 LayoutInflater inflater = LayoutInflater.From(this); View mainView = inflater.Inflate(Resource.Layout.Main, null); 我得到一个“java.lang.ClassNotFoundException:Mvx.MvxBindableListView” 以下是整个例外: Android.Views.Infla
LayoutInflater inflater = LayoutInflater.From(this);
View mainView = inflater.Inflate(Resource.Layout.Main, null);
我得到一个“java.lang.ClassNotFoundException:Mvx.MvxBindableListView”
以下是整个例外:
Android.Views.InflateException: Binary XML file line #1: Error inflating class Mvx.MvxBindableListView
at Android.Runtime.JNIEnv.CallObjectMethod (intptr,intptr,Android.Runtime.JValue[]) [0x00024] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:145
at Android.Views.LayoutInflater.Inflate (int,Android.Views.ViewGroup) [0x0003e] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/android-12/src/generated/Android.Views.LayoutInflater.cs:543
at AndroidCornerstoneMobile.MainView.OnViewModelSet () [0x00010] in c:\Users\David\Documents\Work\AndroidXamarin\AndroidCornerstoneMobile\Views\MainView.cs:30
at at Cirrious.MvvmCross.Droid.Views.MvxActivityView`1<Core.ViewModels.MainViewModel>.set_ViewModel (Core.ViewModels.MainViewModel) <0x000bb>
at at Cirrious.MvvmCross.ExtensionMethods.MvxViewExtensionMethods.OnViewCreate<Core.ViewModels.MainViewModel> (Cirrious.MvvmCross.Interfaces.Views.IMvxView`1<Core.ViewModels.MainViewModel>,System.Func`1<Core.ViewModels.MainViewModel>) <0x00203>
at at Cirrious.MvvmCross.Droid.ExtensionMethods.MvxAndroidActivityExtensionMethods.OnViewCreate<Core.ViewModels.MainViewModel> (Cirrious.MvvmCross.Droid.Interfaces.IMvxAndroidView`1<Core.ViewModels.MainViewModel>) <0x00297>
at at Cirrious.MvvmCross.Droid.Views.MvxActivityView`1<Core.ViewModels.MainViewModel>.OnCreate (Android.OS.Bundle) <0x000d3>
at at Cirrious.MvvmCross.Binding.Droid.Views.MvxBindingActivityView`1<Core.ViewModels.MainViewModel>.OnCreate (Android.OS.Bundle) <0x000b7>
at Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) [0x00010] in /Users/builder/data/lanes/monodroid-lion-bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/android-12/src/generated/Android.App.Activity.cs:1837
at at (wrapper dynamic-method) object.8c1f4311-41e4-4a0f-98f2-454a6152589a (intptr,intptr,intptr) <IL 0x00017, 0x00043>
at
at --- End of managed exception stack trace ---
at android.view.InflateException: Binary XML file line #1: Error inflating class Mvx.MvxBindableListView
at at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
at at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
at at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at at cirrious.mvvmcross.binding.droid.views.MvxBindingActivityView_1.n_onCreate(Native Method)
at at cirrious.mvvmcross.binding.droid.views.MvxBindingActivityView_1.onCreate(MvxBindingActivityView_1.java:31)
at at android.app.Activity.performCreate(Activity.java:4539)
at at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2013)
at at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2083)
at at android.app.ActivityThread.access$600(ActivityThread.java:134)
at at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233)
at at android.os.Handler.dispatchMessage(Handler.java:99)
at at android.os.Looper.loop(Looper.java:137)
at at android.app.ActivityThread.main(ActivityThread.java:4697)
at at java.lang.reflect.Method.invokeNative(Native Method)
at at java.lang.reflect.Method.invoke(Method.java:511)
at at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at at dalvik.system.NativeStart.main(Native Method)
at Caused by: java.lang.ClassNotFoundException: Mvx.MvxBindableListView
at at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at at android.view.LayoutInflater.createView(LayoutInflater.java:552)
at at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
at ... 20 more
Android.Views.InflateException:二进制XML文件行#1:膨胀类Mvx.MvxBindableListView时出错
在/Users/builder/data/lanes/monodroid-lion-bigssplash/0e0e51f9/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:145中的Android.Runtime.JNIEnv.CallObjectMethod(intptr,intptr,Android.Runtime.JValue[])[0x00024]
在/Users/builder/data/lanes/monodroid lion bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/Android-12/src/generated/Android.Views.LayoutInflater.cs:543中的Android.Views.LayoutInflater.Inflate(int,Android.Views.Views.Views)[0x0003e]
在c:\Users\David\Documents\Work\AndroidXamarin\AndroidCornerstoneMobile\Views\MainView.OnViewModelSet()[0x00010]中
在cirrial.MvvmCross.Droid.Views.MvxActivityView`1.set_ViewModel(Core.ViewModels.MainViewModel)
位于cirriary.MvvmCross.ExtensionMethods.MvxViewExtensionMethods.OnViewCreate(cirriary.MvvmCross.Interfaces.Views.IMvxView`1,System.Func`1)
位于cirries.MvvmCross.Droid.ExtensionMethods.MvxAndroidActivityExtensionMethods.OnViewCreate(cirries.MvvmCross.Droid.Interfaces.IMvxAndroidView`1)
在cirrial.MvvmCross.Droid.Views.MvxActivityView`1.OnCreate(Android.OS.Bundle)
在cirrius.MvvmCross.Binding.Droid.Views.MvxBindingActivityView`1.OnCreate(Android.OS.Bundle)
在/Users/builder/data/lanes/monodroid lion bigsplash/0e0e51f9/source/monodroid/src/Mono.Android/platforms/Android-12/src/generated/Android.App.Activity.cs:1837
at(包装器动态方法)对象8c1f4311-41e4-4a0f-98f2-454a6152589a(intptr、intptr、intptr)
在
在托管异常堆栈跟踪的末尾---
在android.view.InflateException:二进制XML文件行#1:膨胀类Mvx.MvxBindableListView时出错
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
在android.view.LayoutInflater.充气(LayoutInflater.java:489)
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
在android.view.LayoutInflater.充气(LayoutInflater.java:352)
在cirrial.mvvmcross.binding.droid.views.MvxBindingActivityView_1.n_onCreate(本机方法)
在cirrial.mvvmcross.binding.droid.views.MvxBindingActivityView_1.onCreate(MvxBindingActivityView_1.java:31)
位于android.app.Activity.performCreate(Activity.java:4539)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2013)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2083)
在android.app.ActivityThread.access上的$600(ActivityThread.java:134)
位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:1233)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:4697)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:787)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
在dalvik.system.NativeStart.main(本机方法)
至少由以下原因引起:java.lang.ClassNotFoundException:Mvx.MvxBindableListView
位于dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:501)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:461)
位于android.view.LayoutInflater.createView(LayoutInflater.java:552)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
在20多
要对MvvmCross类进行充气,必须使用MVX活动
类提供的BindingInflate
方法。最简单的方法是在OnCreate()
或OnViewModelSet()中调用SetContentView()
这些方法通过MvvmCross-Binding代码路由膨胀,该代码知道如何解释Mvx.
缩写名称空间,并且知道如何解包MvxBind
绑定语句
默认的安卓充气机不知道这两件事,所以我们不能只使用它。SetContentView(Resource.Layout.Main);也会抛出一个错误。我尝试使用BindingInflate,但它给了我以下错误:System.TypeInitializationException:Cirries.MvvmCross.Binding.Droid.MvxAndroidBindingResource的类型初始值设定项引发了异常---->System。异常:查找MvxBinding的资源ID时出错-请确保ResourcesToCopy链接到可执行文件--->System.Exception:对象引用未设置为对象的实例问题:您使用的是哪个版本?这些示例对你有用吗?有很多都有列表。如果是,你能发现你的应用程序有什么不同吗?一个外部,偶然-这只是在发布版本中失败吗?实际上。。。现在我重读了你的评论。“请确保ResourcesToCopy链接到可执行文件”-您的Resources/Value文件夹中是否有MvxBindingAttributes.xml文件?它是否标记为AndroidResource?