ANDROID - «Идентификатор «пример» определен, но не назначен никаким представлениям»

Я определил ID в ids.xml -> <item name = "example" type = "id"/>

Я использовал этот идентификатор в styles.xml следующим образом ->

<style name = "exampleStyle">
     <item name = "android:id">@id/example</item>
     ###rest of items (width, height etc.)
</style>

И я использовал этот стиль в своем ConstraintLayout следующим образом ->

    <Button
        android:id = "@+id/testButton"
        android:layout_width = "200dp"
        android:layout_height = "wrap_content"
        app:layout_constraintEnd_toStartOf = "@+id/goNextButton"/>

    <ImageView
        style = "@style/exampleStyle"
        app:layout_constraintBottom_toBottomOf = "parent"
        app:layout_constraintEnd_toEndOf = "parent"
        app:layout_constraintTop_toTopOf = "parent"/>

Наконец, IDE (Android studio) показывает ошибку «Пример идентификатора определен, но не назначен ни одному представлению.

Почему он не видит, что я использовал этот идентификатор только через стили? Могу ли я исправить это, не используя tools:ignore = "UnknownId?

1
0
161
1

Ответы 1

Вместо того, чтобы использовать «android:id» в стиле, используйте это в ImageView

Например, в макете сбоку может быть несколько ImageView. Таким образом, вы можете использовать один и тот же стиль несколько раз. Но если действие основано на идентификаторе, вы не можете использовать это правильно.

Другие вопросы по теме