android.view.inflateexception二进制xml文件行#1错误膨胀类android.widget.relativeLayout

时间:2013-12-24 14:43:27

标签: java android xml eclipse android-layout

我是android的新手。
我刚刚制作了一个带有一个文本栏和2个按钮的新布局但它没有用,我发布了堆栈跟踪和我的相对布局文件有什么想法吗?我在那里看到了同样的问题,即减少抽出尺寸。但它对我的情况没有帮助,或者我现在没有太多关于如何减少它。 这是我的一些堆栈跟踪:

  D/AndroidRuntime(1192): Shutting down VM
W/dalvikvm(1192): threadid=1: thread exiting with uncaught exception (group=0xb60cc4f0)
E/AndroidRuntime(1192): FATAL EXCEPTION: main
E/AndroidRuntime(1192): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellomissworld/com.example.hellomissworld.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout
E/AndroidRuntime(1192):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)

,这是布局的xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@layout/activity_main"
    android:focusable="false"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="24dp"
        android:ems="10"
        android:inputType="text" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_alignParentTop="true"
        android:text="@string/typehere"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:text="@string/ok" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText1"
        android:layout_toLeftOf="@+id/button2"
        android:text="@string/cancel" />

</RelativeLayout>

7 个答案:

答案 0 :(得分:14)

你必须改变

android:background="@layout/activity_main"

android:background="@drawable/yourImageName"

答案 1 :(得分:10)

当您使用实际上太大而导致内存错误并导致应用崩溃的大图像时,有时也会弹出此错误。如果您使用背景图像或任何大型资产,请确保它们存在并且它们不是太大,然后您将在雨中唱歌!

答案 2 :(得分:9)

此行表示布局的第一行:

android.view.InflateException: Binary XML file line #1: Error inflating class 

并在第一行有相对布局声明:

所以错误在android:background上,这不是设置布局背景的正确方法:

android:background="@layout/activity_main"

它应该是彩色或可绘制的图像

android:background="@color/backgroundColor"android:background="#012345"

android:background="@drawable/backgroundimg"

答案 3 :(得分:3)

这是错误的android:background="@layout/activity_main"

android:background="@color/backgroundColor" 

android:background="@drawable/backgroundimg"

答案 4 :(得分:2)

在我的情况下修改它的是改变我的color.xml

的位置

当我从我的其他项目中复制它并将其粘贴到新项目中时,Android Studio将其放在v21文件夹中,这意味着我的模拟器(v19)无法访问资源文件{{1} }。

我做了以下修复工作:

  1. 右键点击color.xml
  2. 选择color.xml&gt; Refactor
  3. 在打开的对话框中,删除后缀Move
  4. 现在,我的老了&#34;模拟器能够读取文件。

    我希望它有所帮助..

答案 5 :(得分:0)

我遇到了同样的问题 - 但是在一个没有背景图像的活动中。

我发现GU​​I编辑器(使用Eclipse时 - 我不了解Android Studio)有时会毫无理由地添加错误属性:

android:background="@layout/activity_main"

我不确定编辑器为什么会这样做 - 也许这只是一个错误或只是一个使用错误。

但是,如果活动没有背景图片,则只需删除整个属性!

答案 6 :(得分:-1)

如果您使用Google Play服务并显示地图,则应在AndroidManifest.xml中添加Meta标记

**<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />**