android:<include>标记导致错误</include>

时间:2012-12-10 06:45:19

标签: android android-layout layout-inflater

当我在另一个xml中包含导航条形码xml时,会产生以下错误:

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

login.xml是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/tableStyle"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <include
        android:layout_height="wrap_content"
        layout="@layout/navbar" />

</LinearLayout>

navbar.xml是

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@style/tableRowStyle"
    android:orientation="horizontal"
    android:paddingRight="0dp" >

    <Button
        android:id="@+id/button2"
        android:layout_width="52dp"
        android:layout_height="48dp"
        android:background="@drawable/home" />

    <View
        android:layout_width="1px"
        android:layout_height="fill_parent"
        android:background="#1f1f1f" />

    <View
        android:layout_width="1px"
        android:layout_height="fill_parent"
        android:background="#454545" />

    <Button
        android:id="@+id/button1"
        android:layout_width="190dp"
        android:layout_height="48dp"
        android:layout_weight="0.35"
        android:background="@drawable/stock" />

    <View
        android:layout_width="1px"
        android:layout_height="fill_parent"
        android:background="#1f1f1f" />

    <View
        android:layout_width="1px"
        android:layout_height="fill_parent"
        android:background="#454545" />

    <Button
        android:id="@+id/button2"
        android:layout_width="52dp"
        android:layout_height="48dp"
        android:background="@drawable/home" />

</LinearLayout>

背后的问题是什么?

4 个答案:

答案 0 :(得分:1)

可能是那个

<include
    android:layout_height="wrap_content"
    layout="@layout/navbar" />

应该是

<include
    android:layout_height="wrap_content"
    android:layout="@layout/navbar" />

答案 1 :(得分:1)

java.lang.RuntimeException:无法启动活动ComponentInfo {com.my/com.my.Login}:android.view.InflateException:二进制XML文件行#1:错误导致类

如果出现此错误,则表示setContentView(R.id.xml_file)中布局的调用不匹配; 因此,首先检查并确保在java代码中正确调用布局ID。

然后在xml中删除style =“@ style / tableStyle”。我认为它会起作用。

答案 2 :(得分:0)

同时指定布局宽度。

<include
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    layout="@layout/navbar" />

答案 3 :(得分:0)

已移除android:background="@style/tableRowStyle"

现在它的工作正常。谢谢大家的宝贵答案:)