首页 > 解决方案 > 应用程序退出时出现未处理的异常包含

问题描述

每当我在 RelativeLayout 中有抽屉布局时,我的应用程序就会崩溃。我在网上搜寻类似的东西,但没有看到任何东西。该项目在预览中正确呈现,但在模拟器上运行时,它会崩溃。这是我的 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/black">

    <ImageView
        android:id="@+id/bnrLogoYellow"
        android:layout_width="195dp"
        android:layout_height="69dp"
        android:layout_centerHorizontal="true"
        android:src="@drawable/bnrlogo_yellow" />

    <ImageButton
        android:id="@+id/imgbtnGrub"
        android:layout_width="95dp"
        android:layout_height="95dp"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@android:color/black"
        android:scaleType="fitXY"
        android:src="@drawable/burgersquare"
        android:layout_below="@+id/bnrLogoYellow"/>

    <ImageButton
        android:id="@+id/imgbtnPub"
        android:layout_width="95dp"
        android:layout_height="95dp"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@android:color/black"
        android:scaleType="fitXY"
        android:src="@drawable/pubsquare1"
        android:layout_below="@+id/bnrLogoYellow"
        android:layout_toRightOf="@+id/imgbtnGrub"/>

    <ImageButton
        android:id="@+id/imgbtnKooz"
        android:layout_width="95dp"
        android:layout_height="95dp"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@android:color/black"
        android:scaleType="fitXY"
        android:src="@drawable/koozsquare"
        android:layout_below="@+id/bnrLogoYellow"
        android:layout_toRightOf="@+id/imgbtnPub"/>

    <ImageButton
        android:id="@+id/imgbtnMore"
        android:layout_width="95dp"
        android:layout_height="95dp"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:background="@android:color/black"
        android:scaleType="fitXY"
        android:src="@drawable/moresquare"
        android:layout_below="@+id/bnrLogoYellow"
        android:layout_toRightOf="@+id/imgbtnKooz"/>

    <ImageView
        android:id="@+id/DemoImage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@null"
        android:scaleType="fitXY"
        android:layout_below="@+id/imgbtnGrub"
        android:layout_alignParentBottom = "true"
        android:src="@drawable/slidemenu1" />

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="150dp"
        android:layout_height="250dp"
        android:layout_below="@+id/imgbtnGrub"
        android:layout_alignParentBottom = "true">

        <ListView
            android:id="@+id/navList"
            android:layout_width="150dp"
            android:layout_height="match_parent"
            android:layout_gravity="left|start"
            android:alpha="0.75"
            android:background="#ffee33"
            android:divider="@null"
            android:theme="?attr/textAppearanceListItemSmall" />

    </android.support.v4.widget.DrawerLayout>

</RelativeLayout>

我什至无需编写任何 Java 代码就可以重现异常。我得到的例外说:

java.lang.NoClassDefFoundError:使用引导类加载器找不到类;没有可用的堆栈跟踪

android.widget.ViewStub

非常感谢您对此的任何帮助!

标签: android-studio

解决方案


虽然不是真正的解决方案,但我确实找到了解决方法。我将 DrawerLayout 包裹在一个 LinearLayout 中,该 LinearLayout 位于 RelativeLayout 中。这是我的 XML 最终的样子:

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout"
        android:layout_below="@id/imgbtnGrub"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="150dp"
        android:layout_height="250dp"
        android:layout_below="@+id/imgbtnGrub"
        android:layout_alignParentBottom = "true">


        <ListView
            android:id="@+id/navList"
            android:layout_width="150dp"
            android:layout_height="match_parent"
            android:layout_gravity="left|start"
            android:alpha="0.75"
            android:background="#ffee33"
            android:divider="@null"
            android:theme="?attr/textAppearanceListItemSmall" />

    </android.support.v4.widget.DrawerLayout>
    </LinearLayout>

希望它可以帮助可能遇到同样问题的其他人。


推荐阅读