2010-07-12 3 views
8

Любые идеи, почему порой Eclipse завивает и не распознает код, который он сделал несколько секунд назад? «R» в приведенном ниже коде имеет красную мерцание под ним, когда он не 5 минут назад, и я не изменил код. Это часто случается с Eclipse, и обычно я закрываю его и начинаю снова, и хорошо идти ... на этот раз не идти.Eclipse не распознает «R.id ...» с Android

// Initialize view elements 
    mSearchBox  = (EditText) this.findViewById(R.id.edittext_search); 
    mSearchButton = (Button) this.findViewById(R.id.button_search); 

ответ

10

это звучит как необходимо регенерировать класс R, попробуйте сделать изменения в файле макета и сохранение его поэтому проект перестраивает.

+1

Спасибо, но это не сработало ... никаких других идей. – taraloca

+2

убедитесь, что ни один из ваших xml-файлов не имеет ошибок в них, если один из них делает это, это может привести к сбою генерации R. вы должны увидеть какие-либо ошибки в консоли Android, а также проверить окно «Проблемы». –

+0

Спасибо ... У меня была ошибка в одном из моих xml-файлов. Исправлено, и проблема теперь исправлена. – taraloca

11

Вы случайно импортировали android.R. *; случайно? Я импортировал эту и что делает затмение не распознает все другие сгенерированные классы R, убедитесь, что вы импортируете один из проекта:

import <project_name>.R; 
+0

Aaaarrggh ... это случилось со мной не раз! Не знаю, как я разрешаю им импортировать .R в свой код. Большое спасибо! –

+1

eclipse снова укусит меня. – lalitm

1

На Android Development Tool (ADT) 14, поле ресурсов, такие как R.id. больше не являются константами, определенными в проекте библиотеки. Это необходимо для повторного использования проектов библиотек без их перекомпиляции.

Существует простое решение для R.id. что вы знаете, это правильно, но Android считает, что это неправильно. (При условии, что ваш файл .xml правильно, ваш код Java ссылается на правильный ресурс, и вы не имеете «импорт android.R;» заявление)

  1. Поместите курсор на заявление переключателя и нажмите правой кнопкой мыши на Это.
  2. Выберите QUICK FIX. Eclipse преобразует ваши строки в инструкции if-else if-else.
  3. Это должно исправить ошибку R.id. вопрос.
5

Это очень распространенная проблема в Android просто следить за этим,

  • Перейти к проекту меню выбора "чистый" вариант
  • .
  • Убедитесь, что «Build Automatically вариант проверяется»

сделано, получит ошибка вашего R.java Решимость.

+2

Хорошо ... когда он работает (удача нужна) –

1

Я столкнулся с той же проблемой. Все, что я сделал, - это стереть оператор import android.R, и Eclipse автоматически предоставил мне импорт, который мне нужен. Как только я ударил, все мои ошибки исчезли. Я три дня пытался изо всех сил пытаться понять это.

BTW - убедитесь, что вы делаете это со всеми файлами.

0

В дополнение к ответам выше, эта ошибка может возникнуть, если вы не объявили пакет в AndroidManifest.xml, или вы указали неверный пакет. Убедитесь, что у вас есть

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.applicationname" ... 
0

Если вы чувствуете, что ваш код верен, и вы все равно получите эту ошибку.

Щелкните правой кнопкой мыши по проекту >> Build Project, и эта ошибка исчезнет.

Вы также можете сохранить настройки, когда проект будет построен автоматически

Нажмите на вкладке Project >> Build Automatically.

Надеюсь, что это решает вашу проблему !!

0

Добавили ли вы файлы изображений в свою папку? Файлы изображений с недопустимыми именами файлов также могут вызывать такую ​​же проблему.

Смежные вопросы