J'ai une ficelle
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s; //.text has \n, not a new line
et je veux le mettre dans une zone de texte, mais le caractère de nouvelle ligne est ignoré. Comment puis-je m'assurer que le texte se casse à l'endroit où je le veux quand il lui est attribué?
Sur flex, pendant le codage, \n
fonctionne bien sur mxml
ou toute variable xml
pour définir une ligne, utilisez simplement l'entité 
.
Je veux dire:
lazy
fox
nous donne
lazy<br />
fox
pas {\ n} mais {'\ n'}
@radekg
L'OP fait référence à la chaîne de texte écrite en syntaxe MXML:
<mx:TextArea text="This is a new line" />
Essayer
"This is a line {\n} This is another line."
Sinon, utilisez l'attribut htmlText et utilisez
"This is a line <br> This is another line."
Dans Flex, si vous essayez de placer une ligne à côté de la ligne précédente. Ensuite, il suffit de l'ajouter à la ligne précédente.
var line:String="Hello";
textarea1.text += line;
Maintenant, textarea1, qui est votre zone de texte dans laquelle vous voulez imprimer cette chaîne, y sera ajoutée.
Je viens de tester le code suivant:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.Adobe.com/2006/mxml"
creationComplete="onComplete();">
<mx:Script>
<![CDATA[
private function onComplete():void {
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s;
}
]]>
</mx:Script>
<mx:TextArea id="txtHolder" />
</mx:WindowedApplication>
et avec mx: Texte
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.Adobe.com/2006/mxml"
creationComplete="onComplete();">
<mx:Script>
<![CDATA[
private function onComplete():void {
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s;
}
]]>
</mx:Script>
<mx:Text id="txtHolder" />
</mx:WindowedApplication>
Les deux fonctionnent très bien. Peut-être utilisez-vous mx: TextInput ou mx: Label?
Tu devrais faire:
var s:String = "This is a line" + "\n" + "This is another line.";
this.txtHolder.text = s;
C'est tout.
Je viens de faire ceci comme suit,
protected function addToTextArea(array:Array):void
{
textArea.text = "Array Elements are:";
for(var k:int = 0; k < array.length; k=k+1)
{
textArea.text = textArea.text +"\n"+ array[k];
}
}
Merci Tolgahan ALBAYRAK
Cela devrait fonctionner ou à tout le moins <br \> (sans les espaces avant le "br") devrait fonctionner si vous utilisez htmlText.
J'utilisais XML pour remplir TextArea et, comme je ne suis pas tout à fait sûr de savoir comment utiliser HTML à l'intérieur de XML (ils mentionnent que je devrais l'envelopper avec des balises CDATA), mais je viens de faire un simple
txt.replace("\\n", "<br/>");
Peut-être y a-t-il une meilleure façon de s'y prendre mais cela fonctionne bien.
EDIT: j'ai eu un espace après le "br"