RelativeLayout layout_above дает ошибку "Нет ресурса"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:layout_above="@id/btn_4" <-- this line error: No resource found
android:layout_width="match_parent"
android:layout_height="200dp" />
<Button android:id="@+id/btn_4" <-- I declare the id here
android:layout_alignParentBottom="true"
android:layout_height="wrap_content"
android:layout_width="match_parent" />
</RelativeLayout>
Любые предложения?
Ответы
Ответ 1
Как я понимаю, в первый раз, когда id используется в макете xml, перед ним должен быть знак +.
Из Объявление макета docs:
Символ плюса (+) означает, что это новое имя ресурса, которое должно быть создано и добавлено к нашим ресурсам (в файле R.java).
Итак, добавьте "+" в первую ссылку btn_4 в макете ListView, и вы можете удалить ненужный "+" из атрибута android: id в макете Button.
Ответ 2
Объявите ListView
list_1 после, объявив Button
btn_4, когда он пытается ссылаться на него в android:layout_above="@id/btn_4"
.
Ответ 3
Когда вы объявляете относительные макеты, вы должны использовать android:layout_above="@+id/layoutToBeAbove"
В противном случае система не знает, на что вы указываете.
Это объявление укажет на тот же ресурс.
Надеюсь, это помогло!