Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 膨胀类片段时出错,Xamarin_C#_Android_Android Fragments_Xamarin - Fatal编程技术网

C# 膨胀类片段时出错,Xamarin

C# 膨胀类片段时出错,Xamarin,c#,android,android-fragments,xamarin,C#,Android,Android Fragments,Xamarin,我在将片段膨胀到布局中时出错。 我正在使用的IDE是Xamarin,它是用编程语言C#开发的android开发工具 我得到这个目录中的类的错误 jeugdbewingapp\jeugdbewingapp\Presentation\main menu.cs 在下面的代码段中,错误由片段类名称引发。 此代码来自NewsFeed.axml布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="h

我在将片段膨胀到布局中时出错。 我正在使用的IDE是Xamarin,它是用编程语言C#开发的android开发工具

我得到这个目录中的类的错误

jeugdbewingapp\jeugdbewingapp\Presentation\main menu.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>

我知道名称空间需要用小写字母书写,但您的文件和目录是否需要用小写字母书写

我已经被困了很长一段时间,找不到解决方案,我正在使用的教程是

完全的错误是这样的

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]处 /用户/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-term\Projecten 1\Source\Jacob\jeugdbewengingapp\jeugdbewengingapp\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(包装器动态方法) object.08e9bb04-13ac-4397-9345-6bea3473292f(intptr、intptr、intptr)位于托管异常堆栈跟踪的末尾--
在android.view.InflateException:二进制XML文件行#1:错误 正在膨胀的类片段 createViewFromTag(LayoutInflater.java:713) 位于android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
在android.view.LayoutInflater.充气(LayoutInflater.java:492)
在android.view.LayoutInflater.充气(LayoutInflater.java:397)
在android.view.LayoutInflater.充气(LayoutInflater.java:353)
至少 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290) 在android.app.Activity.setContentView(Activity.java:1929)在 JeugdBewingApp.NewsFeed.n_onCreate(本机方法)位于 jeugdbewingapp.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)在 Looper.loop(Looper.java:136)位于 android.app.ActivityThread.main(ActivityThread.java:5017)位于 位于的java.lang.reflect.Method.Invokenactive(本机方法) 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)
在dalvik.system.NativeStart.main(本机方法)处,由以下原因引起: android.app.Fragment$instanceionException:无法实例化 片段jeugdbewingapp/jeugdbewingapp/presentation/main菜单:make 确保类名存在,是公共的,并且有一个空构造函数 在android.app.Fragment.instantiate(Fragment.java:597)上公开 在android.app.Fragment.instantiate(Fragment.java:561)在 位于的android.app.Activity.onCreateView(Activity.java:4778) createViewFromTag(LayoutInflater.java:689) 在22更多原因:java.lang.ClassNotFoundException: 没找到上课的机会 路径上的“JeugdBewingApp/JeugdBewingApp/presentation/Main菜单”: DexPathList[[zip文件 “/data/app/jeugdbewengingapp.jeugdbewengingapp-1.apk”],NativeLibraryDirectory=[/data/app lib/jeugdbewengingapp.jeugdbewengingapp-1, /供应商/lib,/system/lib]]at 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)位于。。。25多


如果有人能帮助我,我将不胜感激

class属性应该包含类的完整名称空间,而不是路径。正如您所建议的,名称空间必须全部为小写,因为Java使用小写名称空间。Xamarin为自定义类生成的包装类中的名称空间将是小写的。实际的类名将保持不变,因此不需要小写

因此,假设您的名称空间是
jeugdbewengingapp.jeugdbewengingapp.Presentation.MainMenu
,那么您的片段xml应该如下所示

<fragment
    class="jeugdbewegingapp.jeugdbewegingapp.presentation.MainMenu"
    android:id="@+id/menu_fragment"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />


谢谢你的回答!在我将片段移动到另一个目录后,我忘记了更改其名称空间…如果项目名称中有“.”点怎么办?就像Xamarin形成projs的“Name.Droid”