How do I enforce a circular reference in a RelativeLayout?

I have two widgets within a RelativeLayout that must reference each other. Technically it is not a circular reference since the widget A is vertically aligned with widget B and widget B is horizontally aligned with widget A. Here is my code (condensed):

    <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" />

However when I build I get this error:

Error: No resource found that соответствует данному имени (в 'layout_toLeftOf' со значением '@ id / imgArrow').

Интересно, что представление графического макета в Eclipse отображает его правильно и не жалуется на циклическую ссылку.

Я не вижу проблемы с двумя виджетами, ссылающимися друг на друга по разным размеры (горизонтальный и вертикальный), поскольку он не может вызвать бесконечный цикл. Есть ли способ обойти эту проблему? Это единственный известный мне способ получить нужный мне макет.

Заранее спасибо, Барри PS Есть ли способ заранее объявить идентификатор, как в C / C ++?

13
задан Onik 13 March 2019 в 21:13
поделиться