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

时间:2015-05-30 09:48:08

标签: android xml include

我正在创建一个Android应用程序,我需要在其中包含页眉和页脚。为了使xml创建更容易,我从另一个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"

他们无法识别:

  

错误:错误:找不到与给定名称匹配的资源(位于&#39; layout_above&#39;值为&#39; @ id / footer&#39;)。

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

谢谢!

P.S.:Here'是标题代码

<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>

1 个答案:

答案 0 :(得分:0)

这是因为您的include标记没有ID。我想您已将android:id="@+id/header"声明为header.xml,但您无法在RelativeLayout

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