android include标签 - 无效的布局参考

Dal*_*sky 42 xml layout android

我有一个问题,包括通过android布局xml文件中的include标签的不同布局.在指定布局引用(@layout/...)时,我在Eclipse ADT中遇到以下错误的 InflateException:InflateException:您必须指定有效的布局引用.布局ID @ layout/func_edit_simple_calculator_toolbox无效.

引用应该是有效的,因为我从我的其他布局列表中选择它并且没有输入它.我正在使用android sdk v2.1

这些是布局文件

func_edit_simple_calculator_toolbox.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_height="wrap_content" android:layout_width="wrap_content">

<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content"android:layout_height="wrap_content">
<Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1"></Button>
<Button android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="2"></Button>
<Button android:id="@+id/Button03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3"></Button>
<Button android:id="@+id/Button04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="+"></Button>
</TableRow>
<TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:id="@+id/Button05" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="4"></Button>
<Button android:id="@+id/Button06" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="5"></Button>
<Button android:id="@+id/Button07" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="6"></Button>
<Button android:id="@+id/Button08" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="-"></Button>
</TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

function_editor_layout.xml

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

<com.calculoid.FunctionView android:id="@+id/function_view" android:layout_width="fill_parent" android:layout_height="fill_parent"/>

<include android:id="@+id/include01" android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/func_edit_simple_calculator_toolbox"></include>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

有谁知道可能是什么问题?

提前致谢

cot*_*aws 115

如果有人发现此线程发现此错误:

Caused by: android.view.InflateException: You must specifiy a layout in the include tag: <include layout="@layout/layoutID" />
Run Code Online (Sandbox Code Playgroud)

确保你这样做:

<include layout="@layout/your_layout" />

不是:

<include android:layout="@layout/your_layout" />

layout应该不会android:在它的前面.

  • +1这就是我没有彻底阅读我的错误消息(或者我过分依赖自动完成?) (4认同)

ggo*_*eze 106

我想我应该提一下我是如何解决同样的问题的.试图清理项目,但没有工作.我有很大的布局名称(chrono_first_small_field),这也不是原因.

关闭Eclipse,然后再次打开它,这很有效.

这比实现onMeasure方法更有意义:-)