Un extracto de la documentación :

Eclipse a veces le gusta agregar una importación de android.R declaración en el
la parte superior de los archivos que el uso de los recursos, especialmente cuando usted pide eclipse
para ordenar o gestionar las importaciones. Esto hará que tu a
descanso. Mirar hacia fuera para estos errónea de las instrucciones de importación y eliminarlos.

Mi pregunta : ¿por QUÉ? ¿Por qué eclipse seguir haciendo esto?

He sido el desarrollo de aplicaciones Android usando Eclipse por bastante tiempo, pero nunca he sido capaz de entender por qué eclipse que hace tal cosa.

Cuando yo uso Ctrl + Cambio + O organizar mi sentencias de importación, import android.R se añade automáticamente. Y de repente, mi código correcto es que de repente en rojo los errores, diciendo que R no puede ser resuelto. Se puede conseguir muy difícil para un principiante como él no tiene idea de lo que hizo mal.

En otro escenario, supongamos que hay algo mal con mis archivos de diseño y R.java no es que se genera, se dice que R no puede ser resuelto, como R.java no se ha generado debido a los errores. Como puedo pasar mi cursor a cualquiera de los errores, que me sugiere import android.R.

Después de trabajar en Android durante bastante tiempo ahora, sé que nunca a la importación de android.R, pero lo que nunca he sido capaz de entender por qué eclipse sigue lo que sugiere que, como hablando con franqueza, la adición de import android.R nunca a resolver cualquier problema de la mina. Se acaba de agregar a los problemas actuales, que solía ser muy doloroso durante los días iniciales de desarrollo.

Así, ¿alguien sabe la razón detrás de eclipse hacer la sugerencia de hacer una importación incorrecta? Es simplemente un error? Yo no creo que sea un bug, ya lo tengo solucionado, al menos, después de que fue mencionado en el Android documentación.

Si no es un error, entonces lo que es un verdadero propósito de android.R? ¿Qué es exactamente la referencia?

Tus opiniones y experiencias va a ser realmente útil!

Gracias!

InformationsquelleAutor Swayam | 2013-03-09

3 Comentarios

  1. 12

    Esto no es un error. Hay algunos casos donde android.R pueden ser útiles y resolver problemas.

    android.R es un R.java archivo como el que tu tienes en tus propios proyectos. El uno en sus proyectos (your.packagename.R) contiene referencias a los recursos que tiene bajo su /res carpeta como diseños, dibujables, archivos XML, archivos raw, cadenas, etc.

    Por otro lado, la android.R archivo contiene referencias a ciertos recursos por omisión que Android se ha incorporado, como simple_list_item_1.

    Eclipse sugiere que esta y las importaciones automotrices esto a veces como si el proyecto de I archivo no se ha generado debido a un error de XML o algo así, el código se hace referencia a un archivo que no existe. Mediante la importación de android.R, eclipse se asegura de que tu código se hace referencia a una clase que existe. Sin embargo, android.R es raro tener los mismos recursos que usted hizo, y esto va a plantear otra serie de errores.

    • +1 por mencionar el de android por defecto recursos. Pero,de nuevo, si me mmay preguntar, ¿por qué eclipse agregar que cuando mi R.java ya está ahí y yo estoy usando Ctrl+Mayús+s para organizar mis importaciones ?
    • Tal vez las sugerencias son, en orden alfabético, quién sabe. Probablemente esta es la forma en que el organizador de las obras.
    • Eclipse debe sólo añadir que cuando hay un error con su R.java. Si es la adición de lo contrario, puede ser un error.
    • Un punto a recordar es que sólo el paquete de la aplicación generará el R.java archivo que contiene todos los recursos del proyecto. Así que si usted desea referirse a estos recursos desde otros paquetes, que tienen que importar yourapppackage.R.java.
    • He encontrado que cuando android.R es importado, por lo general significa que hay algo mal con mi archivo de manifiesto o de un archivo de recursos y por lo tanto mi R archivo no se ha generado correctamente, como la respuesta por encima de los estados.
    • Cuando «import android.R» se agrega en Android Studio, de archivo: MainActivity.kt (.kt es para Kotlin sintaxis), El código no compila. La importación de llegar allí, después de pegar el código de ejemplo. Cuando «import android.R» quitado de setContentView(R. layout.activity_main) puede resolver el ‘activity_main’ de referencia.

  2. 3

    Eclipse también siempre intenta importar automáticamente android.R en su clase si cambia el nombre del paquete a través de herramientas de android y no cambiar el nombre de la base el nombre del paquete en el código con el mismo nombre, ya que se supone que usted tiene dos R en su archivo.

    • Mi proyecto genera la R.java sólo para un determinado paquete(el primero que he creado). En todos los otros paquetes, me tiene que importar que clase R para referirse a mi disposición los recursos. Parece que el primer paquete se comporta como una madre paquete, mientras que los otros son los niños. Alguna idea de donde esta se especifica de modo que puedo cambiar esto?
    • Acabo de darme cuenta de que es determinado por el paquete atributo de la etiqueta de manifiesto en el archivo de manifiesto.
  3. 0

    Probar esto…

    Ventana -> Preferencias -> Java -> Editor -> Guardar Acciones

    Desmarque La Opción «Organizar Las Importaciones.» Esperemos que lo va a hacer.

    Después de este ajuste, a mí me funciona.

Dejar respuesta

Please enter your comment!
Please enter your name here