Android 无法识别包含文件中的 ID

Android does not recognise ids from an included file

我正在制作一个 Android 应用程序,我需要在其中包含 header 和页脚。为了使 xml 的创建更容易,我添加了 header 和来自另一个 xml 的页脚。

<!-- HEADER -->
<include layout="@layout/header" />
<!-- FOOTER --> 
<include layout="@layout/footer" />

问题是我想使用 android:layout_below 和 android:layout_above 来保证内容位于两个元素的中间,但是当我尝试调用这些元素的 id 时:

android:layout_below="@id/header"
android:layout_above="@id/footer"

无法识别它们:

error: Error: No resource found that matches the given name (at 'layout_above' with value '@id/footer').

相反,它在预览中有效。我想知道有什么问题,或者是否有其他选择可以确保内容在他的位置。

谢谢!

P.S.:这是header代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/header"    
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:textColor="#FFF"
android:background="@color/color_cabecera"
android:gravity="center" >

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_alignParentTop="true"        
    android:src="@drawable/logo100x80" />

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/fav_abridores"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/abridores_guardados" />

    <ImageButton
        android:id="@+id/fav_consejos"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/consejos_guardados" />
</LinearLayout>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_margin="5dp"
    android:textColor="#FFF"
    android:text="@string/app_name"     
    android:textSize="20sp" />



</RelativeLayout>

这是因为您的include标签没有id。我想你已经在 header.xml 中声明了 android:id="@+id/header",但你不能将它用作 RelativeLayout

中的锚点 ID
  <include layout="@layout/header" 
        android:id="@+id/header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
   />