Pergunta

Eu tenho tentado fazer um projeto da Biblioteca Android e, embora o processo de construção funcione bem, tenho tido alguns problemas em substituir um recurso no projeto que usa a biblioteca.

Na minha biblioteca, eu tenho:

  1. UMA library_layout.xml contendo

    u003CTextView
    Android: id = "@+id/str_my_string"
    Android: layout_width = "wrap_content"
    Android: layout_text = "wrap_content"
    >

  2. Um arquivo java que chama

    ((TextView) this.findViewById (r.id.str_my_string)). SetText (r.string.my_string);

  3. Um recurso strings.xml contendo

    u003Cstring name="my_string">Espaço reservadou003C/string>

No projeto usando a biblioteca que tenho

  1. Um recurso strings.xml contendo

    u003Cstring name="my_string">Conteúdo real da stringu003C/string>

O comportamento que espero é que, quando eu execute o projeto usando a biblioteca, a exibição de texto exibe Conteúdo real da string, mas na verdade contém falso.

Olhando no aplicativo que usa a biblioteca, eu Faz Veja dois R arquivos, e os dois têm R.string.my_string e ambos são iguais ao mesmo valor numérico.

Foi útil?

Solução

Eu tenho o mesmo arranjo e isso funciona para mim como o esperado.

A biblioteca possui layout/classe com esta referência a uma string de recursos:

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

A biblioteca fornece um valor padrão em suas strings.xml:

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

O aplicativo principal possui esse valor em suas strings.xml:

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

Quando eu dar um valor para esse recurso nos principais aplicativos strings.xml, vejo "cliente desde" quando o aplicativo é executado, quando o excluo do principal aplicativo strings.xml, vejo o valor da biblioteca ", estudante desde que ".

Parece que isso é um comportamento esperado com base na minha leitura aqui:http://developer.android.com/tools/sdk/eclipse-adt.html

Citação relevante do link acima:

Nos casos em que um ID de recurso é definido no aplicativo e na biblioteca, as ferramentas garantem que o recurso declarado no aplicativo tenha prioridade e que o recurso no projeto da biblioteca não seja compilado no aplicativo .apk. Isso oferece ao seu aplicativo a flexibilidade de usar ou redefinir quaisquer comportamentos ou valores de recurso que sejam definidos em qualquer biblioteca.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top