Error "no se puede resolver o no es un campo"?

Sigo recibiendo este error. ¿Debería hacer de id un campo?

Mi código es:

 public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); ImageView mainimage = (ImageView) findViewById(R.id.mainanim); mainimage.setBackgroundResource(R.anim.mainanim); mainanimation = (AnimationDrawable) mainimage.getBackground(); } 

¿Cómo exactamente arreglas esto?

No modifique la clase R. El error significa que hay algo sintácticamente equivocado en sus diseños XML y R no se puede generar automáticamente. Trate de buscar allí y publicar el código xml que no está seguro acerca de, si lo hay.

Editar: también: eliminar "import android.R" de las importaciones en la parte superior del archivo (si existe)

Mira tus declaraciones de import en la parte superior. Si usted está diciendo import android.R , entonces hay que es un problema. Puede que no sea el único, ya que estos errores 'R' pueden ser complicados, pero definitivamente definitivamente al menos parte del problema.

Si eso no lo soluciona, asegúrese de que su complemento de eclipse (ADT) y su SDK de Android estén completamente actualizados, elimine el proyecto del emulador / teléfono eliminándolo manualmente del sistema operativo y limpie el proyecto (Ejecute Eclipse- > Proyecto-> Limpieza …). Suena tonto para asegurarse de que sus cosas están completamente actualizadas, pero las versiones anteriores de ADT y SDK tiene una gran cantidad de molestos errores relacionados con los archivos R que han sido aclarados.

Sólo FYI, las cosas que aparecen en la clase R se genera a partir de las cosas en su proyecto res (recursos aka) carpeta. La clase R le permite hacer referencia a un recurso (como una imagen o una cadena) sin tener que hacer operaciones de archivo en todo el lugar. Hace otras cosas también, pero eso es para otra respuesta. Android OS utiliza un esquema similar – tiene una carpeta de recursos y la clase android.R es la forma de acceder a las cosas en la carpeta de recursos de Android. El problema surge cuando en una sola clase está utilizando tanto sus propios recursos como los recursos estándar de Android. Normalmente se puede decir import en la parte superior, y luego hacer referencia a una clase usando el último bit del nombre (por ejemplo, import java.util.List permite simplemente escribir List en su clase y el compilador sabe que quiere decir java.util.List ). Cuando necesitas usar dos clases que tienen el mismo nombre, como es el caso con la clase R generada automáticamente, puedes importar una de ellas y tienes que calificar completamente a la otra cuando quieras decirlo. Típicamente importo el archivo de R para mi proyecto, y después apenas digo android.R.whatever cuando quiero un recurso del androide.

Además, para reiterar Andy, no modifique el archivo R automáticamente. No es así como se pretende que se use.

Una posible solución: –

Resumen: asegúrese de que está utilizando la import com.yourpkgdomainname.yourpkgappname.R lugar de import android.R

Detalles: El problema se produjo cuando cambié el ID de una etiqueta que estaba siendo referida en otros lugares en el archivo XML de diseño. Debido a este error, el archivo R dejó de generar al principio. Eclipse es malo en el manejo de errores con los archivos de diseño.

Cuando he corregido la referencia de ID (con el proyecto limpio pocas veces y Eclipse se reinicia, me di cuenta de que mis paquetes de importación ahora tiene:
import android.R

Cambiarlo a siguiente fijado el error:
import com.example.app.R

Acabo de arreglar mi problema haciendo clic derecho en la carpeta de diseño y haciendo clic en la opción Validar. Aparecerán algunas ventanas, solo clik OK y ist fine.

Es posible que haya creado un nuevo archivo xml en el Directorio de diseño que contenga una letra mayúscula que no esté permitida en el archivo xml en Directorio de diseño.

Espero que esto ayude.

Simplemente lanzando esto por ahí, pero trate de volver a escribir las cosas manualmente. Hay una posibilidad de que sus comillas son las "incorrectas" ya que hay un carácter unicode similar que se ve similar, pero no es una comilla.

Si copia / pegó el código extrae de un sitio web, que podría ser su problema.

Como Jake ha mencionado, el problema puede ser debido al código de copiar / pegar. Compruebe el archivo main.xml bajo res / layout. Si no hay ningún campo de identificación en ese entonces usted tiene un problema. Un ejemplo típico sería el siguiente

 <com.androidplot.xy.XYPlot android:id="@+id/mySimpleXYPlot" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="10px" android:layout_marginLeft="20px" android:layout_marginRight="20px" title="A Simple Example" /> 

Algunas veces eclipse puede confundir con otros proyectos en el mismo directorio.

Simplemente cambie el nombre del paquete (no olvide cambiar en el archivo de manifiesto de Android también), asegúrese de que el nombre del paquete no se use ya en el directorio. Puede funcionar.

Sólo me encontré con esto yo mismo.

Finalmente encontré que mi problema era con un archivo .png que agregué que tenía una letra mayúscula en ella y causaba exactamente el mismo problema. Eclipse nunca marcó el archivo hasta que lo cerré y abrió la copia de seguridad de Eclipse.

Lo que parece ser el problema, sólo fijo mina en caso de que alguien se estaba preguntando – Debido a otros errores que desactivó construir automáticamente, cuando creé un nuevo proyecto que dijo R.layout.main tenía un problema y necesario para importar R; Tan naturalmente como un novato, lo hice. Entonces construí manualmente y tenía un problema con main. Intente construir su programa como es, quitar la importación R y debe estar bien.

Me dio suficiente dolor pero encontré la solución:

 PROJECT ---> Clean ----> (Sele) 

En main.xml (o donde quiera que se defina su elemento) asegúrese de que la ID del elemento R está definida con @+id/... continuación se muestra un ejemplo con un botón:

 <Button android:text="B1" android:id="@+id/button_one" android:layout_gravity="center_horizontal|center" android:layout_height="fill_parent" android:layout_width="wrap_content" /> 

Cada uno de ellos es importante porque:

  • Debe preceder a la cadena
  • + Indica que creará si no existe (sea cual sea su artículo)

También tuve este error cuando estaba trabajando en una clase Java una vez. Mi problema era simplemente que mi archivo xml, con las referencias en él, no se guardó. Si tiene el archivo xml y la clase java abiertos en las pestañas, compruebe que el nombre del archivo xml en la pestaña no tenga un * por él.

Espero que esto ayude.

Simplemente limpie su proyecto para que R se genere automáticamente. Esto funcionó para mí.

Para mí la causa del problema era que tenía 2 imágenes con el mismo nombre en mi carpeta drawable-hdpi. Una vez que resolví eso, entonces el R.java se reconstruyó y el problema fue resuelto automáticamente.

Seleccione la pestaña Proyecto y haga clic en Generar automáticamente para que se active la opción Crear todo y, a continuación, haga clic en construir todo.y siempre inicie el nombre de archivo xml con minúsculas.

  • Necesita un IDE para el desarrollo de Android NDK + SDK
  • Administrador de SDK de Visual Studio 2013 Android no funciona
  • Error en Facebook sdk de Android durante el inicio de sesión
  • Se bloquea el SDK de Youtube al cargar vídeos en directo
  • No se puede actualizar build.gradle para usar la biblioteca de soporte 23.0.1
  • android.net.SntpClient falta en Android SDK
  • Descarga lenta de SDK a través del gestor SDK de Android
  • No se pudieron resolver todas las dependencias para la configuración ': app: _debugApkCopy'
  • Soporte de idioma indico para SDK pero no para PhoneGap
  • Cómo crear un nuevo AVD en eclipse?
  • Cómo convertir una aplicación de Android de un modelo de pago gratuito a un desbloqueo de pagos en la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.