Java 无法将android.support.constraint.ConstraintLayout强制转换为android.support.v4.widget.DrawerLayout
合并两个androidStudio项目后,我出现了这个错误, 该应用程序初始化为飞溅,显示效果良好。然后,当尝试访问activity_main.xml时,应用程序崩溃。 错误是:Java 无法将android.support.constraint.ConstraintLayout强制转换为android.support.v4.widget.DrawerLayout,java,android,drawerlayout,android-constraintlayout,Java,Android,Drawerlayout,Android Constraintlayout,合并两个androidStudio项目后,我出现了这个错误, 该应用程序初始化为飞溅,显示效果良好。然后,当尝试访问activity_main.xml时,应用程序崩溃。 错误是: FATAL EXCEPTION: main Process: eu.siacs.conversations, PID: 16604 java.lang.RuntimeException: Unable to start activity ComponentInfo
FATAL EXCEPTION: main
Process: eu.siacs.conversations, PID: 16604
java.lang.RuntimeException: Unable to start activity ComponentInfo{eu.siacs.conversations/eu.siacs.conversations.ui.MainActivity}: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.support.v4.widget.DrawerLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2787)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1504)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6247)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
Caused by: java.lang.ClassCastException: android.support.constraint.ConstraintLayout cannot be cast to android.support.v4.widget.DrawerLayout
at eu.siacs.conversations.ui.MainActivity.onCreate(MainActivity.java:96)
at android.app.Activity.performCreate(Activity.java:6757)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2787)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1504)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6247)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
activity_main.xml(布局)是:
注意:在合并两个项目之前,所有代码都有效。您的问题是
原因:java.lang.ClassCastException:android.support.constraint.ConstraintLayout无法强制转换为android.support.v4.widget.DrawerLayout
根xml代码是
ConstraintLayout
。因此,您应该更改为DrawerLayout
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start"
tools:context="eu.siacs.conversations.ui.MainActivity">
...
</android.support.v4.widget.DrawerLayout>
...
ConstraintLayout
不是抽屉布局
。你不能把它当作一个。如果需要抽屉布局
,请在布局中使用
。
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start"
tools:context="eu.siacs.conversations.ui.MainActivity">
...
</android.support.v4.widget.DrawerLayout>