【发布时间】:2014-05-19 12:25:33
【问题描述】:
我在将片段膨胀到布局时出错。 我正在使用的 IDE 是 Xamarin,它是一个使用 C# 编程语言的 android 开发工具。
我得到这个目录中的类的错误
JeugdbewegingApp\JeugdbewegingApp\Presentation\MainMenu.cs
在下面的代码中,错误是由片段类名引发的。 此代码来自 NewsFeed.axml 布局文件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/myButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="test" />
<TextView
android:text="Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textView1" />
<fragment
class="jeugdbewegingApp/jeugdbewegingApp/presentation/MainMenu"
android:id="@+id/menu_fragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
我知道命名空间需要小写,但您的文件和目录是否需要小写?
我已经卡了很长时间了,找不到解决方案,我正在使用的教程是 http://docs.xamarin.com/guides/android/platform_features/fragments/part_1_-_creating_a_fragment/
完整的错误是这样的
Android.Views.InflateException:二进制 XML 文件第 1 行:错误 膨胀类片段 Android.Runtime.JNIEnv.CallNonvirtualVoidMethod (intptr,intptr,intptr,Android.Runtime.JValue[]) [0x00084] 在 /Users/builder/data/lanes/monodroid-mlion-monodroid-4.12-series/a1e3982a/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:895 在 Android.App.Activity.SetContentView (int) [0x00070] 中 /Users/builder/data/lanes/monodroid-mlion-monodroid-4.12-series/a1e3982a/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:4252 在 JeugdbewegingApp.NewsFeed.OnCreate (Android.OS.Bundle) [0x00009] 中 c:\Users\Jacob\Dropbox\2ICT\2de Semester\Projecten 1\Source\Jacob\JeugdbewegingApp\JeugdbewegingApp\Presentation\NewsFeed.cs:24 在 Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (intptr,intptr,intptr) [0x00011] 在 /Users/builder/data/lanes/monodroid-mlion-monodroid-4.12-series/a1e3982a/source/monodroid/src/Mono.Android/platforms/android-19/src/generated/Android.App.Activity.cs:2178 at at (包装动态方法) object.08e9bb04-13ac-4397-9345-6bea3473292f (intptr,intptr,intptr) at --- 托管异常堆栈跟踪结束 ---
在 android.view.InflateException:二进制 XML 文件第 1 行:错误 在 at 膨胀类片段 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
在 android.view.LayoutInflater.inflate(LayoutInflater.java:492)
在 android.view.LayoutInflater.inflate(LayoutInflater.java:397)
在 android.view.LayoutInflater.inflate(LayoutInflater.java:353)
在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 在 android.app.Activity.setContentView(Activity.java:1929) 在 jeugdbewegingapp.NewsFeed.n_onCreate(Native Method) at jeugdbewegingapp.NewsFeed.onCreate(NewsFeed.java:28) 在 android.app.Activity.performCreate(Activity.java:5231) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 在 android.app.ActivityThread.access$800(ActivityThread.java:135)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5017) 在 java.lang.reflect.Method.invokeNative(Native Method) at at java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method) at 原因: android.app.Fragment$InstantiationException:无法实例化 片段 jeugdbewegingapp/jeugdbewegingapp/presentation/MainMenu:制作 确定类名存在,是公共的,并且有一个空的构造函数 在 android.app.Fragment.instantiate(Fragment.java:597) 公开 在 android.app.Fragment.instantiate(Fragment.java:561) 在 android.app.Activity.onCreateView(Activity.java:4778) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689) 在 ... 22 更多在 Caused by: java.lang.ClassNotFoundException: 没找到课 路径上的“jeugdbewegingapp/jeugdbewegingapp/presentation/MainMenu”: DexPathList[[压缩文件 "/data/app/JeugdbewegingApp.JeugdbewegingApp-1.apk"],nativeLibraryDirectories=[/data/app-lib/JeugdbewegingApp.JeugdbewegingApp-1, /vendor/lib, /system/lib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:497) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:457) 在 android.app.Fragment.instantiate(Fragment.java:583) at ... 25 更多
如果有人可以帮助我,将不胜感激!
【问题讨论】:
标签: c# android android-fragments xamarin