Я новичок в Android (но не в Java), Я следую примеру упражнения NotepadV1, но при выполнении на виртуальном устройстве получаю странную ошибку (Hello World отлично работает на этом же виртуальном диске):
Я получаю исключение «Ресурс не найден» при запуске программы. Используемый идентификатор правильный (Eclipse показывает его мне как предложение автозаполнения, и он хорошо определен в R.java). Если я использую напрямую строку вместо идентификатора ресурса, все будет хорошо.
Вот мой string.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
name="app_name">Notepad v1</string>
<string
name="no_notes">No Notes Yet</string>
<string
name="menu_insert">Add Item</string>
</resources>
А вот функция, в которой генерируется исключение:
@Override
public boolean onCreateOptionsMenu( Menu menu )
{
boolean result = super.onCreateOptionsMenu( menu );
// menu.add( 0, INSERT_ID, 0, R.string.menu_insert ); // exception !
menu.add( 0, INSERT_ID, 0, "Add Item" ); // ok like this
return result;
}
Закомментированная строка - это тот, который выдает исключение. Как видите, при передаче строки вместо идентификатора ресурса она проходит. Я попытался загрузить этот ресурс в другом месте той же программы, и везде возникает исключение. Другие ресурсы без проблем используются в других местах программы.
У кого-нибудь есть идея? Я что-то пропустил?
Большое спасибо за ваши идеи