2014-11-09 42 views
0

我得到一個奇怪的問題,使用看起來像一個簡單的佈局。這是一直在犯錯的路線。android:layout_above錯誤時refrencing RelativeLayout ID

android:layout_above="@id/layoutButtonOrganizer" 

我確實在存在於R.java文件

**public static final int layoutButtonOrganizer=0x7f090003;** 

我得到的錯誤是

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

,除非我嘗試使用id對準它編譯罰款它上面的一個按鈕。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    tools:context="com.MasinoMike.mmasinolab4_1.MainActivity" > 

<Button 
     android:id="@+id/buttonShowAnswer" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     ***android:layout_above="@id/layoutButtonOrganizer"*** 
     android:text="@string/buttonTextShowAnswer" /> 

    <LinearLayout 
     android:id="@+id/layoutButtonOrganizer" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/buttonNext" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/buttonTextNext" /> 

     <Button 
      android:id="@+id/buttonPrevious" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/buttonTextPrevious" /> 

    </LinearLayout> 
</RelativeLayout> 

回答

0

經過這幾個小時的工作,我想清楚發生了什麼事情。即使LinearLayout中是我從引用它下面的按鈕(我的按鈕是在XML文件中的佈局以上)我必須加載參考ID它是用來與@ +

android:layout_above="@+id/layoutButtonOrganizer" 

在第一時間解決方案是在第一次在xml文件中使用資源引用時,始終確保擁有@ +。在創建ID所屬的View對象之前加載引用感覺排序不直觀,但無論如何編譯器都很高興。

<Button 
     android:id="@+id/buttonShowAnswer" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     **android:layout_above="@+id/layoutButtonOrganizer"** 
     android:text="@string/buttonTextShowAnswer" /> 

    <LinearLayout 


     **android:id="@id/layoutButtonOrganizer"** 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:orientation="horizontal" >