Идентификаторы Android не синхронизированы - PullRequest
0 голосов
/ 06 февраля 2012

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

Однако, когда я пытаюсь сослаться на существующий идентификатор, например, android: layout_alignLeft = "@ id / selectKey":

  1. Если явведите его вручную в xml. Я получаю «ресурс не найден» от компилятора, несмотря на то, что он находится в R.java и является фактическим именем элемента управления, который я ему дал.

  2. Если я пытаюсь обновить то же свойство с помощью Eclipse, когда раскрываю «ID» из диалогового окна, оно все равно содержит список только исходных имен, а не новых, которые я ему дал (и как указано в файле R.java)

Как это исправить?Кажется, что-то не синхронизируется правильно.

* Кстати, я не знаю, если это ошибка, но после того, как я очистил проект, он удалил файл R.java, но затем отказался воссоздать R.javaпотому что мой код ссылался на объект R, который не существует.В конце я должен был закомментировать каждую ссылку на R в моем коде, чтобы он восстановил файл R.java.Таким образом, это случай, когда R создается на основе последовательности компилятора, а последовательность компилятора полагается на присутствие R там.

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Если не работает Project -> Clean.Вы можете удалить папку "gen" (ужас).Затем Eclipse восстановит его для вас.

0 голосов
/ 06 февраля 2012

Вручную удалите папку gen и bin или классы, затем попробуйте другую очистку.

Кроме того, и похоже, что это не проблема, но убедитесь, что вы импортируете правильный R в свой код; т. е. твой, а не андроид. R один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...