Android layout android:引用RelativeLayout ID时出现上述布局错误
我在使用看似简单的布局时遇到了一个奇怪的问题。这条线总是出错Android layout android:引用RelativeLayout ID时出现上述布局错误,android-layout,Android Layout,我在使用看似简单的布局时遇到了一个奇怪的问题。这条线总是出错 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'
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>
在做了几个小时之后,我弄明白了到底发生了什么。尽管LinearLayout位于我从按钮引用它的按钮下方,但它位于xml文件中布局的上方,我必须在第一次将其用于@+
android:layout_above="@+id/layoutButtonOrganizer"
解决方案是始终确保第一次在xml文件中使用资源引用时使用@+。在创建id所属的视图对象之前加载引用感觉有点违反直觉,但无论什么都会让编译器满意
<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" >