2010-07-12 26 views
8

¿Alguna idea de por qué Eclipse se encrespa y no reconoce el código hace unos segundos? La "R" en el siguiente código tiene el garabato rojo debajo cuando no lo hizo hace 5 minutos y no he cambiado el código. Esto sucede frecuentemente con Eclipse y generalmente lo cierro y lo comienzo de nuevo, y está bien ... no vayas esta vez.Eclipse no reconoce "R.id ..." con Android

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

Respuesta

10

suena como la clase R necesita ser regenerado, trate de hacer un cambio en el archivo de diseño y guardarlo para que el proyecto se reconstruye.

+1

Gracias, pero eso no funcionó ... cualquier otra idea. – taraloca

+2

comprueba que ninguno de tus archivos xml tenga errores; si uno de ellos lo hace, podría estar causando la falla de la generación de R. debería poder ver cualquier error en la consola de Android, además de verificar la ventana de "problemas". –

+0

Gracias ... Tengo un error en uno de mis archivos xml. Se corrigió y el problema ahora está solucionado. – taraloca

11

importó accidentalmente android.R. *; ¿por casualidad? Importé éste y eso hace que Eclipse no reconocer todas las otras clases de I generados, asegúrese de que está importando el de su proyecto:

import <project_name>.R; 
+0

Aaaarrggh ... ¡esto me pasó más de una vez! No sé cómo dejo que importen .R en mi código. ¡Muchas gracias! –

+1

eclipse me muerde de nuevo. – lalitm

1

A partir de Android Desarrollo de herramientas (ADT) 14, los campos de recursos tales como Eliminar. ya no son constantes cuando se definen en el proyecto de la biblioteca. Esto es necesario para que los proyectos de la biblioteca sean reutilizables sin recompilarlos.

Hay una solución fácil para R.id. que sabes que es correcto, pero Android piensa que es incorrecto. (Suponiendo que el archivo .xml es correcta, el código Java hace referencia al recurso correcto, y usted no tiene el "android.R importación;" declaración)

  1. Coloque el cursor en la instrucción switch y haga clic derecho en eso.
  2. Seleccione QUICK FIX. Eclipse convertirá sus staments de conmutación en declaraciones if-else if-else.
  3. Esto debería corregir el R.id. problema.
5

Este es un problema muy común en Android sólo tienes que seguir esto,

  • Ir al proyecto Menú opción
  • selección "limpia".
  • Asegúrese de que "Crear automáticamente opción está marcada"

hecho, el error de su R.java obtendrá determinación.

+2

Ok ... cuando funciona (buena suerte) –

1

Me encontré con el mismo problema. Todo lo que hice fue borrar la instrucción "import android.R" y Eclipse automáticamente me dio las importaciones que necesitaba. Una vez que presioné Guardar, todos mis errores desaparecieron. Luché durante tres días tratando de resolver esto.

BTW - asegúrese de hacer esto con todos los archivos.

0

Además de las respuestas anteriores, este error puede ocurrir si no ha declarado el paquete en AndroidManifest.xml o si ha declarado el paquete incorrecto. Asegúrese de que tiene

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

Si usted siente que su código es correcto y sigue recibiendo este error a continuación.

Haga clic derecho en Proyecto >> Proyecto de construcción y se producirá este error.

También puede mantener un entorno en el que un proyecto se construye automáticamente

Haga clic en la lengüeta Proyecto >> composición automáticamente.

Espero que esto resuelva su problema !!

0

¿Agregó algún archivo de imagen a su carpeta dibujable? Los archivos de imagen con nombres de archivo no válidos también pueden causar el mismo problema.