2012-01-15 2 views
3

Я не имел это предупреждение перед„“[Accessibility] Missing contentDescription attribute on image" на ImageView, а затем я добавил этот код к нему:Нет идентификатора ресурса найдено для атрибута «contentDescription» в пакете «андроида

android:contentDescription="@string/desc" 

и теперь я столкнулся с ошибка

No resource identifier found for attribute 'contentDescription' in package 'android 

Это мой код:

<ImageView 
      android:id="@+id/handle" 
      android:layout_width="48dip" 
      android:layout_height="48dip" 
      android:contentDescription="@string/desc" 
      android:src="@drawable/icon" 
      /> 
+0

Не ответ на ошибку, но вы можете с уверенностью игнорировать предупреждение. Хотя это может быть хорошей практикой, чтобы прислушаться к ним, а также добавить описания, это будет нормально работать без них :) – Nanne

+0

Я был так смущен, потому что на первом месте у меня было всего пару предупреждений и ошибок, но я не мог бежать приложение, я не знаю, почему! – user1143529

ответ

1

Вам необходимо добавить строковый ресурс с именем desc в ваш проект (например, res/values/strings.xml), чтобы использовать атрибут android:contentDescription, как у вас есть.

+0

У меня уже есть ресурс строки desc. Но все равно не работает. – user1143529

+7

@ user1143529: 'API android: contentDescription' был добавлен в API уровня 4. Установите цель сборки для уровня API 4 или выше. – CommonsWare

1

Только в том случае, если вы уверены, что нет никакой необходимости в contentDescription для вашего элемента, вы можете сделать что-нибудь вкусненькое игнорировать:

  1. Добавить xmlns:tools="http://schemas.android.com/tools" имен
  2. Добавить tools:ignore="contentDescription" атрибут к вашему элементу.
Смежные вопросы