He estado tratando de hacer un proyecto de biblioteca android, y aunque el proceso de compilación funciona bien, he tenido algunos problemas para reemplazar un recurso en el proyecto que usa la biblioteca.Reemplazar (o "Anular") Cadena en Android Library Project
En mi biblioteca tengo:
Un
library_layout.xml
contiene< TextView
android: id = "@ +/Identificación del str_my_string"
androide: layout_width = "wrap_content"
android: layout_text = "wrap_content"
>Un archivo Java que llama a
((TextView) this.findViewById (R.id.str_my_string)) setText (R.string.my_string).;
Un recurso
strings.xml
contiene< string name = "mi_cadena" > marcador de posición </cadena >
En el proyecto usando la biblioteca tengo
Un recurso
strings.xml
que contiene< string name = "mi_cadena" > real contenido de la cadena </cadena >
El comportamiento que espero es que cuando ejecuto el proyecto usando la biblioteca, el texto vista muestra contenido de la cadena real, pero en realidad contiene falso.
Buscando en la aplicación que utiliza la biblioteca, me hago ver dos R
archivos, y ambos tienen R.string.my_string
y ambas cosas son iguales al mismo valor numérico.
Parece que simplemente estaba teniendo problemas con Eclipse al no limpiar el antiguo cruft. – jwriteclub
Esto es exacto, pero fallará si la cadena se traduce en la biblioteca. La versión traducida en lib reemplaza a la versión de la aplicación de uso (traducida o no). Entonces lección aprendida: no traduzca una cadena de marcador de posición. –
@johand. para las bibliotecas que usan recursos de cadenas traducidas, ¿hay alguna manera de anularlo en nuestro proyecto? – Bruce