Я новичок в Android (но не на Java), я следую примеру программы NotepadV1, но при запуске на виртуальном устройстве я получаю странную ошибку (Hello World отлично справился с этим же vd):
При запуске программы я получаю исключение "Ресурс не найден". Использованный идентификатор верен (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;
}
Записанная строка - это строка, которая выдает исключение. Как вы видите, при прямой передаче строки вместо идентификатора ресурса она проходит. Я попытался загрузить этот ресурс в другом месте в той же программе, и исключение выбрасывается повсеместно. Другие ресурсы используются в других местах программы без проблем.
У кого-нибудь есть идея? Я что-то пропустил?
Большое спасибо за ваши идеи.