chicofawkes
¿Es posible poner variables dentro de recursos de cadena? Y si es así, ¿cómo los uso?
Lo que necesito es lo siguiente:
<string name="next_x_results">Next %X results</string>
y coloque un int en lugar de %X.
Yasin Bahtiyar
<string name="meatShootingMessage">You shot %1$d pounds of meat!</string>
int numPoundsMeat = 123;
String strMeatFormat = getResources().getString(R.string.meatShootingMessage, numPoundsMeat);
Ejemplo tomado de aquí
-
FYI, Resources.getString(int resId, Object… formatArgs) es otro método similar a String.format(), que toma la identificación del recurso y los argumentos del objeto. Te permite saltarte ese último paso.
– José
2 de mayo de 2011 a las 17:03
-
La documentación de las banderas: desarrollador.android.com/reference/java/util/Formatter.html
–Brais Gabin
9 de septiembre de 2013 a las 8:27
Roel
Simplemente páselo a través de la función getString() como objeto formatArgs.
int nextResultsSize = getNextResultsSize();
String strNextResultsSize =
getResources().getString(R.string.next_x_results, nextResultsSize);
XML:
<string name="next_x_results">Next %1$d results</string>
Atul Bhardwaj
<string name="message">You shot %1$d pounds of meat! Put Second Variable String here %2$s and third variable integer here %3$d</string>
int intVariable1 = 123;
String stringVariable2 = "your String";
int intVariable3 = 456;
String strMeatFormat = getResources().getString(R.string.message, intVariable1, stringVariable2 , intVaribale3);
-
¿Cómo asignó un valor de cadena a int en
stringVariable2
?– salmanseifian
17 de abril de 2018 a las 10:02
-
@salman Al usar %2$s, asigné un valor de cadena a la cadena en el segundo lugar, no int
– Atul Bhardwaj
27 de marzo de 2019 a las 11:56
si, puedes usar. después de agregar la etiqueta al archivo string.xml y luego recuperar lo mismo en su archivo .java, puede seguir esto.
AndriodApp
String str = getResources().getString(R.string.name);