J'aimerais savoir s'il existe un moyen d'insérer / injecter un élément Par exemple, j'aurais pu avoir: p> et je cherche quelque chose comme: p> de sorte que Je sais que je pouvais combiner les deux éléments du code Java en utilisant puis dans le code Utilisez p> Mais je voudrais le faire directement dans XML. P> Quelqu'un peut-il me suggérer un moyen de le faire? P> p>
getstring (r.string.about_application) code> entraînerait "Auteur: Francesco". P>
String.format (chaîne, formatargs) code> comme par exemple: p>
4 Réponses :
Malheureusement, je ne pense pas que ce soit possible. J'ai demandé à un Question similaire il y a un moment et on dit que ce n'était pas possible. p>
Merci quand même! En fait, je pense aussi qu'il n'y a pas de moyen standard de le faire, même si le "Trick" Mads Hansen proposé pourrait faire le travail.
Si je comprends ce que vous cherchez à faire, alors entités générales internes (analysées) strong> pourrait vous aider à réaliser ce que vous recherchez. Un exemple de la manière dont vous pouvez définir la valeur "francesco" comme une entité appelée "auth" puis l'utiliser dans votre XML: P> <?xml version="1.0"?>
<doc>
<string name="author">Francesco</string>
<string name="about_application">Author: Francesco</string>
</doc>
Merci! Cela fonctionne bien lorsque je réfère une entité interne d'un élément XML dans le même fichier, tandis que j'ai des problèmes pour faire référence à une entité externe définie dans un autre fichier XML. Quoi qu'il en soit, je ne sais pas si ce type de mécanisme doit être utilisé avec des fichiers Android / Res / Values / XML, je pense que c'est un peu loin de «standard» android de les gérer.
C'est comme une indirection sur l'indirection :-). Le problème peut être que lors de la traduction de la chaîne.xml (copies dans d'autres dossiers), vous oubliez de localiser et d'authentifier ;. En outre, chaque traduction nécessite toujours toutes les balises de chaîne contenant et authentifier; alors. Mais oui, c'est le meilleur possible car il doit être statique (les fichiers XML peuvent donc être rendus binaires).
Plugin des grades 0.10 appelle ce qu'ils appellent MANIFESTPELLINGERERS STRUT> qui fait fondamentalement ce dont vous avez besoin, mais cette fonctionnalité ne fonctionne actuellement que dans l'AndroidManifest. Il y a bien que Un problème ouvert ciblant la prochaine version Android version 1.4 ( 1.3 est actuellement en version bêta4, donc devrait être proche de RC1 et pourrait voir une version 1.4 bêta1, j'espère bientôt) em >. Ce problème devrait élargir les espaces réservés dans les fichiers de configurations XML ( je viens de prier cela inclurait le fichier de chaînes et non seulement la configuration XML de base em>). p> de fort>: http://tools.android.com/tech-docs/new- système de construction p> Pour les remplacements d'emplois personnalisés, utilisez le DSL suivant pour
Configurez les valeurs des espaces réservées: p>
blockQuote> substituera l'espace réservé dans la déclaration suivante: p>
blockQquote> a hâte d'essayer de l'essayer dehors. De cette façon, vous pouvez mettre un espace réservé dans plusieurs événements dans le fichier Strings et définir la valeur uniquement à un endroit au lieu de modifier tous les fichiers Java pour ajouter un argument avec% 1 $ S P> pour la seule solution propre est bien que le tour de l'entité, mais cela ne fonctionnera pas si vous souhaitez remplacer la valeur en arômes car l'entité doit être définie dans le même fichier XML. P> P>
Oui, il est possible, j'ai créé cette petite bibliothèque qui vous permet de résoudre ces espaces réservés à Buildtime. Vous n'aurez donc pas à ajouter de code Java / Kotlin pour le faire fonctionner.
Basé sur votre exemple , vous devez configurer votre chaîne comme ceci: p> puis le plug-in veillera à créer les éléments suivants: p> Plus d'infos Ici: https://github.com/likethesalad/android-string -Refièrent p> p>