He escrito la línea:
String Mess = R.string.mess_1 ;
para obtener el valor de la cadena, pero en lugar de devolver la cadena, me da una identificación de tipo entero. ¿Cómo puedo obtener su valor de cadena? Mencioné el valor de la cadena en el string.xml
archivo.
this.getString(R.string.some_id)
si ya estás en unaContext
(Actividad o Servicio).getResouces().getInteger(R.integer.my_value_in_xml)
En actividad:
Si no está en actividad pero tiene acceso al contexto:
fuente
this
mientras está en Actividad. SimplementegetString()
te dejará hacer cosas.Estoy usando esto:
fuente
Resources.getSystem()
no le proporciona los recursos de la aplicación, sino solo los de Android. No debe usarse para recursos comostring
. Usé esta solución y la aplicación se bloqueó, arrojando unanotfoundexception
que era difícil de entender (ya que el recurso existestrings.xml
).Por cierto, también es posible crear matrices de cadenas en strings.xml de esta manera:
Y luego de su Actividad puede obtener la referencia de esta manera:
fuente
Solo para futuras referencias.
En la documentación de recursos de String dice:
fuente
Solución 1
Solución 2
fuente
En fragmentos, puedes usar
fuente
Si desea agregar el valor de cadena a un botón, por ejemplo, use
El texto definido en strings.xml tiene este aspecto:
fuente
Debe hacer referencia al nombre del contexto antes de usarlo
getResources()
en Android.O
fuente
Puedes usar este código:
fuente
Si estás en una actividad puedes usar
Si no está en una Actividad, use esto:
fuente
Detalles
Tarea
Paso 1. Aplicación ()
Paso 2. Agregar extensión int
Uso
Resultados
fuente
mientras que u escribir
R
. te estás refiriendo a laR.java
clase creada por eclipse, usagetResources().getString()
y pasaid
el recurso del que estás intentando leer dentro delgetString()
método.Ejemplo:
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
fuente
** **
** **
fuente
Actualizar
getString(R.string.some_string_id)
en ambosActivity
oFragment
.Context.getString(R.string.some_string_id)
donde no tiene acceso directo algetString()
método. Al igualDialog
.El problema es donde no tienes
Context
acceso , como un método en tuUtil
clase.Asuma el siguiente método sin contexto.
Ahora pasará
Context
como parámetro en este método y usarágetString().
Lo que hago es
¿Qué? ¡Es muy fácil de usar en cualquier lugar de su aplicación!
Así que aquí hay una solución única de bonificación por la cual puede acceder a los recursos desde cualquier lugar
Util class
.Agregue un campo de nombre a su
manifest.xml
<application
etiqueta.Ahora estás listo para irte.
fuente
getString (R.string.your_string) obtiene el resultado
fuente
String myString = getResources().getString(R.string.here_your_string_name);
Ahora su cadena se copia en myString. Espero que funcione para ti.
fuente
Puede leer directamente el valor definido en strings.xml:
y establecer en una variable:
pero podemos definir la cadena en la vista:
fuente