У меня есть два виджета в RelativeLayout, которые должны ссылаться друг на друга. Технически это не круговая ссылка, поскольку виджет A выровнен по вертикали с виджетом B, а виджет B выровнен по горизонтали с виджетом A. Вот мой код (сокращенно):
<Button android:id="@+id/btnLanguageFrom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/imgArrow"
android:text="English" />
<ImageView android:id="@+id/imgArrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_alignParentTop="true"
android:layout_alignBottom="@id/btnLanguageFrom"
android:layout_centerHorizontal="true"
android:src="@drawable/arrow_right" />
Однако при сборке я получаю эту ошибку:
Ошибка: ресурс не найден
соответствует заданному имени (в
'layout_toLeftOf' со значением
@ Идентификатор / imgArrow ').
Интересно, что представление «Графический макет» в Eclipse отображает его правильно и не жалуется на циклическую ссылку.
Я не вижу проблемы с двумя виджетами, ссылающимися друг на друга по разным измерениям (горизонтальному и вертикальному), поскольку он не может вызвать бесконечный цикл. Есть ли способ обойти эту проблему? Это единственный способ узнать макет, который мне нужен.
Спасибо заранее,
Барри
Постскриптум Есть ли способ объявить идентификатор заранее, как в C / C ++?