Android layout 下面的布局u带有@id不工作但带有@x2B;id工作

Android layout 下面的布局u带有@id不工作但带有@x2B;id工作,android-layout,Android Layout,当我使用android:layout_below=“@+id/idcontentline”时,一切都是正确的,文本视图位于imageview的下方。但是当使用@id而不是@+id时,它不起作用 怎么了 字符串开头的at符号(@)表示XML解析器应该解析和展开ID字符串的其余部分,并将其标识为ID资源。加号(+)表示这是一个新的资源名称,必须创建并添加到资源中(在R.java文件中)。Android框架还提供了许多其他ID资源。引用Android资源ID时,不需要加号,但必须添加Android包名

当我使用android:layout_below=“@+id/idcontentline”时,一切都是正确的,文本视图位于imageview的下方。但是当使用@id而不是@+id时,它不起作用

怎么了

字符串开头的at符号(@)表示XML解析器应该解析和展开ID字符串的其余部分,并将其标识为ID资源。加号(+)表示这是一个新的资源名称,必须创建并添加到资源中(在R.java文件中)。Android框架还提供了许多其他ID资源。引用Android资源ID时,不需要加号,但必须添加Android包名称空间

字符串开头的at符号(@)表示XML解析器应该解析和展开ID字符串的其余部分,并将其标识为ID资源。加号(+)表示这是一个新的资源名称,必须创建并添加到资源中(在R.java文件中)。Android框架还提供了许多其他ID资源。引用Android资源ID时,不需要加号,但必须添加Android包名称空间


清理项目几次,就这样做。

清理项目几次,就这样做。

没错。问题就在这里。当我们要声明一个新id时,必须使用plus,当我们要使用它时,必须@id。但在我的问题中,它不起作用。清洁生成您的项目,然后生成新的引用id,这样它可能会正常工作。问题在这里。当我们要声明新id时,必须使用plus,当我们要使用它时,必须@id。但在我的问题上,它不起作用。清洁构建项目,然后生成新的引用id,这样它可能会正常工作
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="20dp">

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/content">

<ImageView
android:id="@+id/idcontentline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:src="@drawable/line"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_centerHorizontal="true"/>

<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/idcontentline"
android:layout_centerHorizontal="true"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical" >

<TextView
android:id="@+id/idcontenttext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="this is a sample" />

</ScrollView>

</RelativeLayout>

</RelativeLayout>