Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android layout android:引用RelativeLayout ID时出现上述布局错误_Android Layout - Fatal编程技术网

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