0
我試圖在我的活動中顯示小吃店,但InflateException不斷打我。在我的項目的早期階段,我可以在稍後開始工作;我在我的活動中添加了片段,從那時起我就得到了InflateException。小吃店<merge>錯誤
代碼:
Snackbar.Make(DrawerLayout, "Message", Snackbar.LengthLong).Show();
DrawerLayout
是我的活動的根視圖,如下圖所示:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/DrawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/ToolbarLayout">
<include
layout="@layout/Toolbar"
app:layout_scrollFlags="scroll|enterAlways" />
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/ContentFrame"
android:layout_below="@id/ToolbarLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
<FrameLayout
android:id="@+id/LeftDrawer"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start" />
</android.support.v4.widget.DrawerLayout>
注意我不知道它是否有關,但ContentFrame
和LeftDrawer
是碎片佔位符
我得到的異常字符串:
Android.Views.InflateException: Binary XML file line #18: <merge /> can be used only with a valid ViewGroup root and attachToRoot=true ---> Android.Views.InflateException: <merge /> can be used only with a valid ViewGroup root and attachToRoot=true
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143
at Java.Interop.JniEnvironment+StaticMethods.CallStaticObjectMethod (Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00082] in /Users/builder/data/lanes/3511/501e63ce/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12649
at Android.Runtime.JNIEnv.CallStaticObjectMethod (System.IntPtr jclass, System.IntPtr jmethod, Android.Runtime.JValue* parms) [0x00000] in /Users/builder/data/lanes/3511/501e63ce/source/monodroid/src/Mono.Android/JNIEnv.g.cs:562
at Android.Support.Design.Widget.Snackbar.Make (Android.Views.View view, Java.Lang.ICharSequence text, System.Int32 duration) [0x00078] in <0d997552ddad494094d94e2a353b2022>:0
at Android.Support.Design.Widget.Snackbar.Make (Android.Views.View view, System.String text, System.Int32 duration) [0x00013] in <0d997552ddad494094d94e2a353b2022>:0
at FC.Android.Infrastructure.Activities.MainActivity.NavDrawer_NavigationItemSelected (System.Object sender, Android.Views.IMenuItem e) [0x00029] in E:\Documents\Visual Studio 2015\Projects\FC\FC.Android\Infrastructure\Activities\MainActivity.cs:73
--- End of managed Android.Views.InflateException stack trace ---
android.view.InflateException: Binary XML file line #18: <merge /> can be used only with a valid ViewGroup root and attachToRoot=true
at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.support.design.widget.Snackbar.<init>(Snackbar.java:188)
at android.support.design.widget.Snackbar.make(Snackbar.java:215)
at mono.android.view.View_OnClickListenerImplementor.n_onClick(Native Method)
at mono.android.view.View_OnClickListenerImplementor.onClick(View_OnClickListenerImplementor.java:30)
at android.view.View.performClick(View.java:5204)
at android.view.View$PerformClick.run(View.java:21153)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5480)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.view.InflateException: <merge /> can be used only with a valid ViewGroup root and attachToRoot=true
at android.view.LayoutInflater.inflate(LayoutInflater.java:485)
... 14 more
我檢查下列各項:
- 活動的主題是從
Theme.AppCompat.Light.NoActionBar
- 嘗試
Window.DecorView.RootView
繼承和FindViewById(Android.Resource.Id.Content)
代替DrawerLayout
這是行不通的
編輯: 我發現了一些奇怪的事情:如果我使用Debug運行應用程序,那麼會出現錯誤,如果正常運行應用程序(無需連接調試器),snackbars可以正常工作。
不幸的是'ContentFrame'不起作用要麼是 – sinanyil
這是一樣的確切的錯誤? –
是的,仍然是相同的錯誤 – sinanyil