Eu escrevi a linha:
String Mess = R.string.mess_1 ;
para obter o valor da string, mas em vez de retornar a string, ele está me dando um id do tipo inteiro. Como posso obter o valor da string? Eu mencionei o valor da string no string.xml
arquivo.
this.getString(R.string.some_id)
se você já estiver emContext
(Atividade ou Serviço).getResouces().getInteger(R.integer.my_value_in_xml)
Em Atividade:
Se não estiver em atividade, mas tiver acesso ao contexto:
fonte
this
enquanto estiver na Atividade. SimplesmentegetString()
permitirá que você faça as coisas.Eu estou usando isso:
fonte
Resources.getSystem()
não fornece os recursos do aplicativo, mas apenas os do Android. Não deve ser usado para recursos comostring
. Usei essa solução e o aplicativo travou, lançando umanotfoundexception
que era difícil de entender (como o recurso existestrings.xml
).A propósito, também é possível criar matrizes de strings no string.xml da seguinte maneira:
E, em sua Atividade, você pode obter a referência da seguinte forma:
fonte
Somente para referências futuras.
Na documentação dos recursos String, ele diz:
fonte
Solução 1
Solução 2
fonte
Em fragmentos, você pode usar
fonte
Se você deseja adicionar o valor da string a um botão, por exemplo, use
O texto definido em strings.xml tem a seguinte aparência:
fonte
Você deve fazer referência ao nome do contexto antes de usar
getResources()
no Android.OU
fonte
Você pode usar este código:
fonte
Se você estiver em uma atividade, poderá usar
Se você não estiver em uma atividade, use isto:
fonte
Detalhes
Tarefa
Etapa 1. Aplicativo ()
Etapa 2. Adicionar extensão int
Uso
Resultados
fonte
enquanto você escreve
R
. você está se referindo àR.java
classe criada pelo eclipse, usegetResources().getString()
e passeid
o recurso a partir do qual você está tentando ler dentro dogetString()
método.Exemplo:
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
fonte
**
**
fonte
Atualizar
getString(R.string.some_string_id)
em ambosActivity
ouFragment
.Context.getString(R.string.some_string_id)
onde você não tem acesso direto aogetString()
método. LikeDialog
.O problema é onde você não tem
Context
acesso , como um método em suaUtil
classe.Suponha abaixo o método sem contexto.
Agora você passará
Context
como parâmetro neste método e usarágetString().
O que eu faço é
O que? É muito simples de usar em qualquer lugar do seu aplicativo!
Então, aqui está uma solução exclusiva de bônus, pela qual você pode acessar recursos de qualquer lugar
Util class
.Adicione um campo de nome à sua
manifest.xml
<application
tag.Agora você está pronto para ir.
fonte
getString (R.string.your_string) obtém o resultado
fonte
String myString = getResources().getString(R.string.here_your_string_name);
Agora sua string é copiada para myString. Espero que funcione para você.
fonte
Você pode ler diretamente o valor definido em strings.xml:
e defina em uma variável:
mas podemos definir a string na exibição:
fonte