所以我有这个xml文件,它有以下结构:
<RelativeLayout>
<ScrollView above="@id/bottom">...</ScrollView>
<LinearLayout id="@+id/bottom">...</LinearLayout>
</RelativeLayout>
我在上面的滚动视图中引用了线性布局。首先,项目成功编译,没有错误,并给出了预期的结果。但是当我清理项目时,它给出了线性布局参考的错误。 错误:(16,31)找不到与给定名称匹配的资源(位于'layout_above'且值为'@id / bottom')。
我知道,我应该将线性布局放在滚动视图上方,但为什么错误最初没有出现,
为什么会这样?
答案 0 :(得分:1)
改变它
<RelativeLayout>
<LinearLayout id="@+id/bottom">...</LinearLayout>
<ScrollView above="@id/bottom">...</ScrollView>
</RelativeLayout>
或
<RelativeLayout>
<ScrollView above="@+id/bottom">...</ScrollView> <!-- notice the + -->
<LinearLayout id="@+id/bottom">...</LinearLayout>
</RelativeLayout>
RelativeLayout
中的,因为视图彼此相关,所以顺序并不重要。所以在你的实际xml中,你的LinearLayout定义在ScrollView&amp;因此,当你说above="@id/bottom"
时,它无法找到它。所以要么交换位置要么添加&#34; +&#34;在above="@id/bottom"
之前:above="@+id/bottom"