2008-11-24 11 views
24

zu machen habe ich einen String, wie man Textzeilenumbruch in flex TextArea-

var s:String = "This is a line \n This is another line."; 
this.txtHolder.text = s; //.text has \n, not a new line 

und ich möchte es in einen Textbereich setzen, aber die neue Linie Zeichen ignoriert. Wie kann ich sicherstellen, dass der Text wo ich will, wenn es zugewiesen ist, bricht?

+0

Was ist txtHolder? –

Antwort

43

Auf flex, während \n Codierung gut arbeitet an mxml oder jeden xml nur eine Linie zu definieren 
 Linie Einheit verwenden.

ich meine:

lazy
fox 

uns

lazy<br /> 
fox 
+5

Flex 4.5 scheint zu bevorzugen über – MonoThreaded

3

Versuchen

"This is a line {\n} This is another line." 

Alternativ können Sie die html Attribut und verwenden

"This is a line <br> This is another line." 
0

Es sollte allerwenigsten arbeiten oder bei < br \> (ohne Leerzeichen vor dem "br") sollte funktionieren, wenn Sie htmlText verwenden.

I XML in der Textarea zu füllen wurde mit und da ich nicht ganz sicher bin, wie innerhalb von XML HTML zu verwenden (sie erwähnen, dass ich es mit CDATA-Tags wickeln soll), aber ich habe gerade ein einfaches

txt.replace("\\n", "<br/>"); 

Vielleicht gibt es einen besseren Weg, aber das funktioniert gut.

EDIT: Ich hatte einen Raum nach dem „br“

0

gibt, gebe ich nur folgenden Code getestet:

<?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> 

und mit mx: Text

<?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> 

Beide funktionieren gut. Vielleicht verwendest du mx: TextInput oder mx: Label?

9

nicht {\ n}, aber { '\ n'}

+0

Sie gewinnen die beste Antwort von mir. lol. ty. – Speakeasys

5

@radekg

OP zur Textzeichenfolge in MXML-Syntax geschrieben beziehen wird:

<mx:TextArea text="This is a &#13; new line" /> 
0

In Flex, wenn Sie versuchen, die Zeile neben der vorherigen Zeile zu platzieren. Dann füge es einfach an die vorherige Zeile an.

var line:String="Hello"; 
textarea1.text += line; 

Jetzt Textarea1, die Ihr Textbereich ist, in dem Sie diese Zeichenfolge drucken möchten, wird daran anhängen.

0

Ich habe gerade dies wie folgt,

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]; 
       } 
      } 

Danke Tolgahan ALBAYRAK

0

Sie tun sollten:

var s:String = "This is a line" + "\n" + "This is another line."; 
this.txtHolder.text = s; 

Das ist es.

Verwandte Themen