Pregunta

he estado tratando de hacer un proyecto de biblioteca androide, y mientras el proceso de construcción funciona bien, he estado funcionando en algunos problemas con el reemplazo de un recurso en el proyecto que utiliza la biblioteca.

En mi biblioteca tengo:

  1. A library_layout.xml contiene

        android: id = "@ + / Identificación del str_my_string"
        Android: layout_width = "wrap_content"
        Android: layout_text = "wrap_content"
        >

  2. Un archivo Java que llama a

    ((TextView) this.findViewById (R.id.str_my_string)) setText (R.string.my_string);.

  3. A strings.xml de recursos que contiene

    marcador de posición

En el proyecto usando la biblioteca tengo

  1. A strings.xml de recursos que contiene

    contenido real de cadena

El comportamiento que espero es que cuando ejecuto el proyecto usando la biblioteca, la vista de texto muestra contenido real de cadena , pero en realidad contiene false .

Buscando en la aplicación que utiliza la biblioteca, lo ver dos archivos R, y ambos tienen R.string.my_string y ambas cosas son iguales al mismo valor numérico.

¿Fue útil?

Solución

Tengo la misma disposición y esto funciona para mí como se esperaba.

La biblioteca tiene diseño / clase con esta referencia a una cadena de recursos:

<TextView android:id="@+id/studentSinceLabel">

La biblioteca proporciona un valor por defecto en su strings.xml:

<string name="studentSinceLabel">Student Since</string>

La aplicación principal tiene este valor en su strings.xml:

<string name="studentSinceLabel">Client Since</string>

Cuando givve un valor para este recurso en el principal aplicaciones strings.xml, veo "Cliente Ya que" cuando se ejecuta la aplicación, cuando se borra desde el principal strings.xml aplicaciones, que ven el valor de la biblioteca, "Desde Estudiante".

Parece que este comportamiento se espera basado en mi lectura aquí: http://developer.android.com/tools/sdk/eclipse-adt.html

cita relevante del enlace de arriba:

  

En los casos en que un identificador de recursos se definen en la aplicación y la biblioteca, las herramientas de garantizar que el recurso declarado en la solicitud tiene prioridad y que el recurso en el proyecto de la biblioteca no se compila en el apk aplicación. Esto da a su aplicación la flexibilidad para utilizar o redefinir los comportamientos de recursos o valores que se definen en cualquier biblioteca.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top