viernes, 24 de febrero de 2012

Perder una tarde por "R cannot be resolved" en Eclipse #Android

Posteo esto para que si le pasa a alguien que no pierda toda la tarde como me ha pasado a mi. Si de repente te sale un fallo en el Activity principal diciendo que no encuentra el main.xml, mostrando algo así como "R cannot be resolved" y un montón de petes el el archivo java principal, es por algún fallo dentro de los archivos .xml del /res. Buscar y revisar dentro de ellos que todos los "<", ">" y todas las letras están bien escritas.

El fallo en Eclipse muestra algo como en la imagen abajo y me pasó que no daba fallo en ninguno de los .xml. Pasé media tarde buscando lo que sucedía hasta que en la biblia http://stackoverflow.com pude encontrar un hilo hablando de ello.
http://stackoverflow.com/questions/885009/r-cannot-be-resolved-android-error



Espero que os sirva y no perdáis una preciosa tarde como me ha pasado a mi.

LIBRO RECOMENDADO PARA APRENDER ANDROID

Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: Android 2 Application Developement de Reto Meier




3 comentarios :

  1. ¡Gracias! Tenía este problema y ya me estaba mosqueando. Resulta que, efectivamente el error lo tenía en un fichero xml que añadí en res/drawable. Simplemete se me había olvidado poner # delante de un color y estaba marcado como erróneo. Buena ayuda.

    ResponderEliminar
  2. miren esto:
    se crea un archivo manual en la carpeta gen y crean un puente entre la carpeta SRC y RES. crea unas firmas de los archivos para que estos sean llamados como recursos.



    package dumar.holamundo;
    public final class R {
    public static final class attr {
    }
    public static final class drawable {
    public static final int icon=0x7f020000;
    }
    public static final class layout {

    public static final int activity_main=0x7f30001;
    }
    public static final class string {
    public static final int app_name=0x7f040001;
    public static final int hello=0x7f040000;
    }

    public static final class menu {
    public static final int main=0x7f050000;
    }
    }

    ResponderEliminar