Cómo utilizar recursos enteros dentro de recursos de cadena en android
¿Cómo puedo utilizar un entero que he almacenado en mi archivo integers.xml en mi archivo strings.xml.
Por ejemplo:
- Recursos de importación android de proyecto de biblioteca
- Otros recursos $ NotFoundException en setContentView
- ¿Por qué las cadenas de referencia de un archivo de recursos externos en lugar de codificación en la disposición de Android XML?
- ¿Puede explicar alguien inflar método? Mayor comprensión de las vistas de Android
- ¿Cómo podemos cambiar el icono de la aplicación Android de forma dinámica en Android
Tengo <integer name="some_integer">5</integer>
y me gustaría usar esto en mi archivo strings.xml:
<string name="some_string">This is my string num @integers/some_integer in a row</string>
Aparentemente mi manera no es bastante buena así que necesito una poca ayuda por favor. Creo que hay una solución posible que simplemente no conozco la correcta.
Apreciar toda la ayuda!
- Hacer texto en negrita y cursiva
- ¿Qué errores se detectan en "build" en Android Studio - rol de Gradle
- Escribir texto multilínea en el botón en Android
- Convertir XML a objeto JSON en Android
- ¿Qué hay de malo en la cadena hardcoded en el archivo xml android?
- No se puede agregar la dependencia de archivos XStream al proyecto de Android Studio
- Agregar efectos de sombra de gota al campo EditarTexto
- CardView ha perdido el margen al inflar
Versión corta es que no se pueden mezclar recursos como este, pero se puede utilizar en Java:
getResources.getString(R.string.some_string, getResources.getInteger(R.integer.some_integer) );
Y luego en su String XML
<string name="some_string">This is my string num %d in a row</string>
De esa manera el %d
se reemplaza por el entero que pasa en el getString
Otros dijeron que su enfoque no funcionaba. Esta es una vieja respuesta para enfrentar un problema similar:
<string name="meatShootingMessage">You shot %1$d pounds of meat!</string> int numPoundsMeat = 123; String strMeatFormat = getResources().getString(R.string.meatShootingMessage); String strMeatMsg = String.format(strMeatFormat, numPoundsMeat);
Ver estas referencias: