Подтвердить что ты не робот

Файл R.java не обновляется с идентификатором элемента интерфейса

Я добавил некоторые элементы пользовательского интерфейса в файл main.xml в папке res\layout, и когда я попытаюсь получить к ним доступ через вызов, R.layout.my_uielement, элемент пользовательского интерфейса, который я создал, не существует. Даже когда я добавляю новый XML файл с элементами пользовательского интерфейса, он по-прежнему не отображается в классе R.layout. Я сделал проверку идентификаторов на них, и они имеют правильный формат (я думаю): android:id="@+id/my_button". В чем может быть проблема? Мне нужно сначала скомпилировать код?
<Б > UPDATE:
Я уже пробовал adb kill-server, затем adb start-server. Кажется, это не помогает. Я также пробовал R.id.my_uielement, он также не регистрируется.

4b9b3361

Ответ 1

Это может быть не так, но иногда, когда я использую что-то из пакета android.R(ресурсы по умолчанию для Android), и я использую его в своем классе, прежде чем ссылаться на что-либо из своего собственного пакета ресурсов, Eclipse добавляет import android.R; в моем импорте. Это будет конфликтовать с поведением по умолчанию, которое неявно просматривается в ваших ресурсах пакетов.

Проверьте свои операторы импорта для import android.R;. Если он там, удалите его. И, если вы используете что-либо из android.R, полностью квалифицируйте его, когда используете его в коде.

Ответ 2

Чистый проект отлично работает. В Eclipse, если вы просто измените некоторые компоненты xml, он не всегда генерирует новый R файл. Очистка делает это.

Ответ 3

Используйте R.id.your_ui_element, а не R.layout.your_element

Ответ 4

Я тоже столкнулся с этой проблемой. R.java не был сгенерирован и не обновлен.

Если R.java не создается при создании проекта, запустите свой "пустой" проект. Rjava со ссылками на ресурсы будет автоматически сгенерирован.

Если R.java не обновляется, проверьте наличие обновлений в Справке → Проверить наличие обновлений в Eclipse и при необходимости обновите SDK и ADT.

Ответ 5

Через 2 дня я нашел способ исправить это...

Я сохранил наполовину проект в своей почте, поэтому, когда R.java исчез, я просто заменил его старым R.java файлом, это зафиксировало много ошибок, затем внесло необходимые изменения и построило проект (не создавайте его чистый)... Я не знаю, работает ли чистка и сборка одной и той же работы или нет... но каждый раз, когда я ее очищал, R.java использовался для невидимого...

Ответ 6

Очистить работает, потому что он СТРОИТЬ проект после очистки. Таким образом, проблема в том, что (по крайней мере, это было в моем случае, потому что я отключил автоматическую сборку на несколько дней раньше), что после добавления элемента или чего-либо в XML файле eclipse не создает его и не может обновите R.java.

Ответ 7

Я заметил, что мой файл R.java не всегда обновляется должным образом, когда я добавляю элементы в файл strings.xml или в другом месте. Если я использую новое значение, которое я добавил как R.string.newString, фактическое целочисленное значение все равно может указывать на R.string.oldString или что-то в этом роде (обычно это элемент непосредственно выше или ниже нового элемента в strings.xml, но Я еще не прибил паттерн).

Вы не должны изменять файл R.java, но он ничего не говорит об удалении его (не то, что я видел, так или иначе). Я обнаружил, что удаление R.java обычно устраняет мои проблемы, связанные с ресурсами, потому что Eclipse немедленно восстанавливает файл с правильно назначенными значениями.

Обратите внимание, что я очень начинающий в Eclipse, поэтому я не могу понять последствия удаления R.java, но, похоже, он работает для меня до сих пор. Если то, что я делаю, очень плохо, сообщите мне.

Ответ 8

Никто из них не работал у меня! Единственный способ получить доступ к @+id/foo - myPackage.R.id.foo.