InflateException:二进制XML文件行#22:错误导致类<unknown> </unknown>

时间:2014-09-06 20:40:30

标签: java android xml

当我尝试运行我的应用程序时崩溃,我在logcat中得到以下内容:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.application/com.example.application.StartActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown>

.....

Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown>

.....

Caused by: java.lang.reflect.InvocationTargetException

.....

Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1

错误还包括我自己的代码中的一行,我在其中设置了内容视图

这是我引用

的xml文件
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin">



            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="200dp">

                <TextView
                    android:id="@+id/summonerName"
                    android:layout_width="439dp"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:gravity="center_vertical"
                    android:hint="@string/prompt_email"
                    android:textSize="?android:textAppearanceLarge"
                    android:singleLine="true" />

                <Spinner
                    android:id="@+id/region"
                    android:layout_width="83dp"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_toRightOf="@id/summonerName"
                    android:layout_alignParentRight="true"
                    />

            <Button
                android:id="@+id/btnSearch"
                style="?android:textAppearanceSmall"
                android:layout_width="200dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:background="#777"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:text="@string/action_sign_in"
                android:textColor="#FFF"
                android:textStyle="bold" />

            </RelativeLayout>
        </LinearLayout>


<ListView
    android:id="@+id/left_drawer"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#f3f3f4"
    android:choiceMode="singleChoice"
    android:divider="#dadadc"
    android:dividerHeight="1dp"/>

我不知道如何处理这些错误。任何人都可以帮助我走上正轨吗?

4 个答案:

答案 0 :(得分:2)

应该定义所有的@dimens

例如

<resources>
    <!-- Default margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

您可能已将其添加到例如这些文件夹

  • 值-sw600dp
  • 值-sw600dp陆
  • 值-V19
  • 值-xxhdpi

或者任何其他文件夹当然可以归属于 但不要忘记那些也必须在

他们必须在那里定义

如果不是问题,请尝试为每个layout-XXXX文件夹创建一个value-XXXX文件夹

  • 布局xhdpi
  • 值-xhdpi

  • 布局大
  • 值-大

例如

答案 1 :(得分:0)

我遇到了同样的问题,

问题是我使用了DrawerLayout并且我的minSDK设置为低于14.更改它解决了问题。由于某种原因,android支持和appcompat包允许您使用DrawerLayout,但缺少布局的DrawerLayout定义。

将minSDK更改为14解决了问题。

答案 2 :(得分:0)

可能是使用高分辨率可绘制资源的原因。检查可绘制文件分辨率。

答案 3 :(得分:0)

对我来说,这是因为布局在父级线性布局中使用了android:theme =“ @ style / AppTheme”。 该应用程序主题定义为:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="actionBarTheme">@color/colorAccent</item>
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:textColorHint">@color/white</item>

我删除了它,一切正常。