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

#android #xml #android-layout #android-styles

#Android #xml #android-layout #android-стили

Вопрос:

Я определил идентификатор в 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:

Вместо использования « android:id » в стиле используйте это в ImageView

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