Странная ошибка в R.java, даже после очистки проекта: "Подчеркивания могут использоваться только с уровнем 1,7 или выше",
Итак, все прошло довольно хорошо, пока совсем недавно, когда R.java решил получить эту ошибку после добавления значка (5_content_new.png
, если быть точным).
Я пробовал очистить проект и перезапустить eclipse, но безрезультатно.
Код проблемы:
public static final class drawable {
public static final int 5_content_new=0x7f020000;
public static final int ic_launcher=0x7f020001;
...
}
Красная строка отображается под 5_
, и ошибка говорит:
Underscores can only be used with source level 1.7 or greater
Кто-нибудь сталкивался с такой проблемой раньше?
Ответы
Ответ 1
Это комбинация двух вещей:
Итак, что происходит, компилятор разбирает 5_content_new
как 5_ content_new
... что разумно, если исходный уровень был Java 7, а затем говорит вам, что вы не используете Java 7. Если вы были используя Java 7, эта ошибка компиляции была бы заменена ошибкой, в которой говорилось, что целочисленный литерал (5_
) не был законным в этой точке.
Короче говоря, код содержит что-то такое "от стены", которое автор компилятора не ожидал в диагностическом коде компилятора.
Другой момент заключается в том, что использование ANY подчеркивания в переменной, методе, классе или имени пакета в Java является нарушением стиля. Подчеркивания следует использовать только в именах констант all-caps, таких как "MAX_VALUE".
Ответ 2
Я только что попробовал переименовать существующий чертеж в компилирующемся проекте Android, и Eclipse забросил этот диалог:
(Если вы не можете увидеть изображение очень хорошо, диалоговое окно говорит, что имя ресурса должно начинаться с символа.
Способ, которым я создал это диалоговое окно, - это переименование файла с возможностью рисования. Выделенное оригинальное имя было button_blue_normal.9.png
, переименовано в 5_button_blue_normal.9.png
и нажато enter. Диалог появился сразу после нажатия клавиши ввода.
Я никогда не знал этого, но, видимо, вам понадобится буквенный символ , а не цифра, в самом начале имени файла с возможностью рисования.
Ответ 3
Я знаю, что опаздываю на вечеринку, но я просто столкнулся с этим сам, когда начал работать с компонентом ActionBar.
Ответ ScootrNova привел меня к решению. Проблема заключалась в рекомендованном Android пакетом значков, который я загрузил для использования в учебниках. Все имена файлов начинались с целых чисел (1_xxx.png и т.д.). Я удалил те, которые я не использовал, переименовал других в то, что начиналось с буквы (в качестве примера я использовал "icon_xxx.png" ), и он скомпилирован без ошибок.
Ответ 4
У меня была та же проблема, и я решил ее после ввода цифры после текста не в начале.
У меня была строка 2_Activity, и я изменил ее на Activity2. Это было мое решение. Надеюсь, что это поможет кому-то.
Ответ 5
У меня была та же проблема.
Разрешение. Посмотрите на файлы res, drawlables или внутри xml и переименуйте файлы или строки, которые начинаются с (строка подчеркивания подчеркивания) 1_string в string_1.
Надеемся, что это поможет решить проблему.