Error de eclipse con android: id no se puede resolver o no es un campo

Acabo de empezar a jugar con el desarrollo de Android, y ya con sólo un intento de hacer un botón, he encontrado un problema. El error que se me da en el siguiente código es correcto en "R.id.button1". Dice que id no se puede resolver o no es un campo. ¿Necesito hacer referencia manualmente a cada objeto que hago en el archivo xml de diseño? Me pareció que esto funcionó, pero parece ser un poco mucho para cada botón que quiero hacer …

package com.example.helloandroid; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ private Button button1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (Button)findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); } }); } } 

He estado perdiendo mucho tiempo (dos semanas) por el mismo problema hasta que descubrí que el problema no era mío sino el de Eclipse. Supongo que hay mucha gente con el mismo problema.

Simplemente inténtelo: Guarde su proyecto, cierre Eclipse y vuelva a abrirlo. Tan sencillo.

¿Necesito hacer referencia manualmente a cada objeto que hago en el archivo xml de diseño

Sí, de lo contrario no podrá hacer nada con esas vistas. En realidad no es tan malo. Por lo tanto, cada vez que crea una vista en su XML, y desea hacer referencia a ella, ponga un ID:

 <View android:id="@+id/the_id"/> 

Y luego, desde su código puede hacer referencia a él utilizando la clase R Puede escribir, en el ejemplo, R.id.the_id y luego Ctrl + Shift + O para que Eclipse auto importe los archivos necesarios.

Puede acelerar su productividad utilizando marcos como Roboguice ; Creo que es para la gente perezosa, sin embargo.

Esta respuesta no es aplicable a esta pregunta (mirando el código que ha proporcionado). Sólo añadirlo si alguien tropieza aquí y las respuestas mencionadas anteriormente no ayudan.

Si la limpieza (Proyecto -> limpia) no ayuda o si guarda y reinicia eclipse tampoco ayuda, compruebe la siguiente importación incorrecta.

 import android.R; 

Eclipse a veces se agrega por error en la importación automática (Ctrl + Mayús + O). Quitar esa línea (importación) y está hecho: D

Después de este EXCELENTE tutorial , me encontré con el mismo problema. Después de leer la respuesta de Carmello ( Sept 17, 2011. 07:23 ) Simplemente hice clic en Archivo-> Guardar Todo, y voila, 'button0' se definió automágicamente e incluso sintaxis resaltada.

Si "R.id.button1" no está definido, entonces obtendrá un error de compilación, tal como lo vio. Si no define esto en el diseño, no se definirá.

No es necesario especificar cada objeto que se crea en el diseño, pero lo hace si intenta hacer referencia a él desde "R. *". Puede crear manualmente botones y otros objetos que no se especifican en el diseño.

Corrí a través de los mismos problemas por el tiempo. Plz, no olvide definir lo siguiente:

 <View android:id="@+id/button1" /> 

Si está utilizando el ID en su clase .java.

 Button b =(Button) findViewById(R.id.button1); 

Dicho esto, el id definido en el archivo xml debe coincidir con el id en findViewById ().

Vaya al archivo 'R.java' en la carpeta 'gen' y compruebe si su 'button1' está presente bajo la clase 'id'. Si no, entonces esta podría ser la razón por la que obtuvo ese error. "R.id." asegúrese de que está presente bajo la clase apropiada, en este caso bajo la clase 'id'.

R.id es un objeto generado que asigna números int a los recursos. Intente esto ir a su gen / mypackage / R.java y eliminar el archivo. Como se puede ver, se vuelve a generar. Este archivo proporciona referencias estáticas donde ya que el contexto es más del estado dinámico de su aplicación. Si tiene errores de sintaxis que evitarán la re-generación automática de ese archivo R.java, por lo que obtendrá lotes o errores de R. Como todos los demás han dicho que puede hacer clic en guardar todo el icono o ctl + shift + s en las ventanas. Usted puede limpiar el proyecto del proyecto / clean y que limpiarán el 95% de esas excepciones. Sí eclipse es buggy de esa manera, pero netbeans no es compatible con Android que así. Este enlace puede ayudar

Buena suerte

Haz estas cosas, cualquiera de esto te ayudará

  1. Proyecto -> Limpiar, clic derecho -> Fix Project Properties
  2. Reiniciar Eclipse
  3. Hacer alguna modificación falsa en el manifiesto y guardar
  4. Compruebe su consola para cualquier mensaje de error
  5. Compruebe su carpeta dibujable, compruebe que los nombres de la imagen satisfacen las reglas
  • Existe un recurso con un caso diferente
  • Android ==> Análisis de memoria ==> Analizador de memoria Eclipse?
  • Android eclipse añadir estado pulsado a ImageView
  • Estilo de código de Android en Intellij Idea / Android Studio
  • Error de Android en Eclipse: "No se puede ejecutar dex: No se puede combinar el nuevo índice 65799 en una instrucción no jumbo!"
  • Webcam para probar cámara en Android AVD?
  • Eclipse ADT 17 provoca pérdidas de memoria al editar la interfaz de usuario de diseño?
  • Intenta invocar el método virtual 'android.database.Cursor android.database.sqlite.SQLiteDatabase.query en la referencia de objeto nulo
  • No se pudo escribir el volcado de núcleo. Minidumps no están habilitados de forma predeterminada en las versiones de cliente de Windows en Eclipse
  • Android - java.lang.ClassNotFoundException: No encontró la clase "..." en path: / data / app /
  • Función multiusuario de JellyBean en Emulator From Ubantu
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.