У меня есть относительный макет, который отлично работает во время выполнения, но в графическом дизайнере Eclipse я получаю исключение
Не удалось разрешить ресурс @id/imgSessionOutcome_Product1_Icon
Ресурс представления изображения определен и находится перед ссылками на него, поэтому я не могу понять, в чем проблема? Исключение указывается дважды, поэтому обе ссылки на него не выполняются.
Я сохранил/очистил проект, чтобы убедиться, что ресурсы перестроены, по-прежнему такая же ошибка.
Eclipse Версия: Helios Service Release 2 работает на OSX с последними обновлениями и т.д.
<RelativeLayout
android:id="@+id/lySessionOutcome_Product1"
android:layout_width="match_parent"
android:layout_height="55dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="5dip"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/imgSessionOutcome_Product1_Icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginRight="10dip"
android:src="@drawable/gr_bag_bc" />
<TextView
android:id="@+id/tvSessionOutcome_Product1_Description"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/imgSessionOutcome_Product1_Icon"
android:ellipsize="marquee"
android:singleLine="false"
android:text="Description" />
<TextView
android:id="@+id/tvSessionOutcome_Product1_Type"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@id/tvSessionOutcome_Product1_Description"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="true"
android:layout_toRightOf="@id/imgSessionOutcome_Product1_Icon"
android:gravity="center_vertical"
android:text="Product type"
android:textAppearance="@style/largeBlack" />
</RelativeLayout>
попробуйте использовать
android:layout_toRightOf="@+id/imgSessionOutcome_Product1_Icon"
Я ответил так давно, что не знал, почему это работает, и я все еще не уверен, но, основываясь на своем наблюдении, я думаю, что использование знака + вместо этого создает временную ссылку на представление, чтобы мы могли просмотреть его в редакторе макета Android, фактическое представление привязки выбирается только во время выполнения.
Если вы не используете знак +, он отлично работает во время выполнения, как указано в самом вопросе. Пожалуйста, поправьте меня, если я ошибаюсь.