RelativeLayout - не удалось разрешить ресурс

1

У меня есть относительный макет, который отлично работает во время выполнения, но в графическом дизайнере 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>
Теги:
relativelayout
android-layout

1 ответ

6
Лучший ответ

попробуйте использовать

android:layout_toRightOf="@+id/imgSessionOutcome_Product1_Icon"

Я ответил так давно, что не знал, почему это работает, и я все еще не уверен, но, основываясь на своем наблюдении, я думаю, что использование знака + вместо этого создает временную ссылку на представление, чтобы мы могли просмотреть его в редакторе макета Android, фактическое представление привязки выбирается только во время выполнения.

Если вы не используете знак +, он отлично работает во время выполнения, как указано в самом вопросе. Пожалуйста, поправьте меня, если я ошибаюсь.

  • 0
    О хорошо Я думал, что @ + id был, когда вы добавляли новый идентификатор в ресурс, а не ссылались на существующий ресурс? Я просто назвал относительный макет из примеров для Android: developer.android.com/resources/articles/…
  • 0
    это работает сейчас ??? + означает, что вы хотите сделать запись в файле R обычно так, как вы это делали, но иногда я не знаю, возникает ли такая проблема, почему
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню