У меня есть два виджета в 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" />
Однако при построении я получаю эту ошибку:
Ошибка: ресурс не найден соответствует указанному имени (at 'layout_toLeftOf' со значением @Идентификатор/imgArrow ').
Интересно, что представление графического макета в Eclipse отображает его правильно и не жалуется на круговую ссылку.
Я не вижу проблемы с двумя виджетами, ссылающимися друг на друга по разным измерениям (по горизонтали и по вертикали), поскольку он не может вызвать бесконечный цикл. Есть ли способ обойти эту проблему? Это единственный способ узнать, что мне нужно.
Спасибо заранее, Барри Постскриптум Есть ли способ объявить id заранее, как в C/С++?