Неверный блок XML, ошибка: не найден ресурс, который соответствует данному имени (в значке со значком @android: drawable - PullRequest
0 голосов
/ 22 мая 2011

Справочная информация. Я использую Eclipse для разработки приложения для Android. У меня есть XML-файл, который содержит меню, которое содержит три пункта. Каждый из элементов содержит объявление android: icon. В моей программе есть ссылка только на первое объявление android: icon. ПРИМЕЧАНИЕ. Вторые два объявления android: icon НЕ упоминаются нигде в моей программе или в любом из файлов проекта.

Проблема: я тщетно пытался добавить четвертый пункт меню и обнаружил что-то очень странное для меня. Мало того, что я не могу не добавить элемент в свое меню, я не могу изменить существующие последние два объявления android: icon или я получаю ошибки, описанные в заголовке. Например, я не могу изменить следующее объявление: иконка с:

android:icon="@android:drawable/ic_menu_preferences"

Кому:

android:icon="@android:drawable/ic_menu_preference"

Я нахожу это очень странным, потому что значок android: объявлен, но на него нет ссылок ни в моей программе, ни в любом из файлов проекта. И ни одно из "решений", которые я нашел в интернете, не решило мою проблему. И когда я пишу это, Stackoverflow говорит мне, что мой вопрос был задан и получен ответ, но это не так!

Есть идеи у кого-нибудь?

Ответы [ 3 ]

5 голосов
/ 22 мая 2011

ПРИМЕЧАНИЕ. Вторые два объявления android: icon НИКОГДА не упоминаются ни в моей программе, ни в любом из файлов проекта

Они находятся в вашем меню.В противном случае атрибуты android:icon не существовали бы.Следовательно, на значки ссылается само меню.

Например, я не могу изменить следующий android: объявление значка

Это потому, что значок отсутствуетв ОС с таким именем .

Кроме того, если все значки, которые вы используете в вашем меню, будут исходить из ОС, вам лучше будет скопировать их из вашего SDK в ваш проект.Некоторые производители заменяют стандартные значки своими версиями.Если вы будете смешивать значки ОС со своими собственными значками, даже если вы создадите значки, соответствующие, например, на эмуляторе, они не будут совпадать на других устройствах.Копируя значки из SDK в ваш проект, вы гарантируете согласованность в вашем меню - если значки выглядят прямо на эмуляторе, они будут выглядеть одинаково на других устройствах.

Я нахожу это оченьсбивает с толку, потому что значок android: объявляется, но нигде не упоминается ни в моей программе, ни в любом из файлов проекта.

Значок является частью меню.В противном случае атрибут android:icon не существовал бы.Следовательно, на несуществующий значок ссылается само меню.

2 голосов
/ 22 мая 2011

Строка @android:drawable/ic_menu_preferences на самом деле сама является ссылкой.Он ссылается на стандартное изображение Android, которое отображается в вашем пункте меню.Вот некоторая документация , которая поможет вам с чертежами.

1 голос
/ 22 мая 2011

Я думаю, вы добавили png-файл, который поврежден

перейдите по этой ссылке , возможно, это поможет вам

...