Cuando se utiliza un proyecto de Biblioteca de Android, ¿cómo se hace referencia a los recursos xml correctamente?


Tengo un Proyecto de Biblioteca de Android que contiene varios estilos/temas definidos en sus estilos.archivo xml.

Normalmente, al hacer referencia a este estilo en algún otro diseño xml o archivo de manifiesto, simplemente escribiría android:theme="@style/TheNameOfTheStyle"

Cuando se utiliza un proyecto de biblioteca, ¿cómo hace el proyecto dependiente referencia adecuada a ese estilo ahora? Simplemente dejándolo como android:theme="@style/TheNameOfTheStyle" me da un error diciendo que no se ha encontrado ningún recurso que coincida con ese nombre.

Supongo que esta misma pregunta se aplica para otras referencias como @ string, @color, etc.

Gracias

Edit: Ok por lo que parece que se supone que debe hacer referencia a ella como de costumbre, pero la consola en eclipse me está dando este error:

Error: No se ha encontrado ningún recurso que coincida el nombre dado (en 'theme' con el valor '@ style / ThemeName').

(facepalm) Edit

Solo necesitaba "Limpiar el proyecto" en Eclipse. Ahora está funcionando.

Author: cottonBallPaws, 2011-01-31

4 answers

Es importante construir el proyecto después de agregar recursos (o simplemente tener autocompilado) y limpiar el proyecto ayuda la mayoría de las veces. Reiniciar Eclipse cuando" algo " sale mal también es una buena idea.

También tenga en cuenta que Android fusiona los recursos, por lo que el último proyecto que se construye "gana" el nombre. Por esta razón, es una buena idea prefijar TODOS los recursos de alguna manera.

 15
Author: Rafael T,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-06 23:55:39

Uso IntelliJ y lo que funcionó para mí es hacer referencia al recurso normalmente y asegurarse de que la biblioteca se agregue como una dependencia del proyecto

 3
Author: AlanKley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-20 00:04:55

Me encontré con el mismo problema, sin embargo, la limpieza en Eclipse no funcionó hasta que configuré tanto el proyecto de biblioteca como el proyecto regular para que tengan una propiedad de compilación coincidente : Target.

 2
Author: nicordesigns,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-02 16:25:07

Acabo de tener este problema en Android Studio. Parece que Android Studio no se dio cuenta de que mi proyecto de biblioteca era una biblioteca a pesar del proyecto.propiedades que indican android.library = true.

Solucioné este problema marcando la casilla de verificación "Is Library" en la Estructura del proyecto.

introduzca la descripción de la imagen aquí

 0
Author: bencallis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-08 20:56:53