558 votes

Chaînes dynamiques à l’aide de String.xml ?

est-il possible d’avoir une valeur de chaîne dans string.xml du genre « certains chaîne PLACEHOLDER1 une chaîne de caractères plus » afin que les détenteurs de place vous peuvent assigner la valeur au moment de l’exécution.

1144voto

Oui, voir ci-après à partir de android devguide

Si vous avez besoin de formater vos chaînes à l'aide d' String.format(String, Object...), alors vous pouvez le faire en mettant votre format arguments dans la ressource de chaîne. Par exemple, avec les ressources suivantes:

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>

Dans cet exemple, la chaîne de format a deux arguments: %1$s est une chaîne de caractères et %2$d est un nombre décimal. Vous pouvez formater la chaîne avec des arguments à partir de votre application comme ceci:

Resources res = getResources();
String text = String.format(
    res.getString(R.string.welcome_messages),
    username, mailCount);

Si vous avez besoin pour gérer les pluriels, utilisez ceci:

<plurals name="welcome_messages">
    <item quantity="one">Hello, %1$s! You have a new message.</item>
    <item quantity="other">Hello, %1$s! You have %2$d new messages.</item>
</plurals>

La première mailCount param est utilisée afin de déterminer le format à utiliser (unique ou pluriel), les autres paramètres sont vos remplacements:

Resources res = getResources();
String text = res.getQuantityString(R.string.welcome_messages,
     mailCount, username, mailCount);

131voto

Oded Breiner Points 1852

Lorsque vous voulez utiliser un paramètre dans le fichier strings.xml réelles sans utiliser n’importe quel code de Java :

2voto

JJD Points 7539

Toutefois, vous devriez également lire de Elias Mårtensonréponse sur le traitement des pluriels Android de « zéro ». Il y a un problème avec l’interprétation de certaines valeurs telles que « zéro ».

0voto

j2emanue Points 3456

simplement, vous êtes un script ant. Définir une variable dans eclipse dans un fichier de niveau de projet appelé quelque chose comme « myvalues.properties ». avoir une variable définie dans lui (sans les guillemets) comme``

dans votre strings.xml, vous pouvez ensuite utiliser

maintenant lorsque vous construisez avec ant juste lecture de la valeur du fichier myvalues.properties et le remplacer dans le fichier strings.xml.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X