Tengo cadenas definidas en el archivo de recursos strings.xml habitual como este:
<string name="hello_world"> HELLO</string>
¿Es posible definir cadenas de formato como la siguiente?
 result_str = String.format("Amount: %.2f  for %d days ",  var1, var2);
en el archivo de recursos strings.xml?
Traté de escapar de los caracteres especiales pero no funciona.
                    
                        android
                                android-resources
                                
                    
                    
                        CocoNess
fuente
                
                fuente

Respuestas:
No necesita usar
formatted="false"en su XML. Solo necesita usar marcadores de formato de cadena completamente calificados%[POSITION]$[TYPE](donde[POSITION]está la posición del atributo y[TYPE]el tipo de variable), en lugar de las versiones cortas, por ejemplo%so%d.Cita de Documentos de Android: Formato y estilo de cadena :
fuente
Debe agregar
formatted="false"a su recurso de cadenaAquí hay un ejemplo
En su
strings.xml:En su código:
fuente
formatted="false"podría implicar que la cadena no se formatea.String.format(getString(R.string.all), 3.12, 2)de esta manera:getString(R.string.all, 3.12, 2).25%, Android se bloqueará.El archivo interno
strings.xmldefine un recurso de cadena como este:Dentro de su código (suponga que hereda del contexto) simplemente haga lo siguiente:
(En comparación con la respuesta de LocalPCGuy o Giovanny Farto M., el método String.format no es necesario).
fuente
Cita de los documentos de Android :
fuente
Para mí funcionó así en Kotlin:
my string.xml
my class.kt
D / Double_CharSequence: Precio: U $ 99,90
fuente