Reputation: 3881
I have a string
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s; //.text has \n, not a new line
and i want to put it into a text area, but the new line character is ignored. How can i ensure that the text breaks where i want it to when its assigned?
Upvotes: 25
Views: 61074
Reputation: 1
You should do:
var s:String = "This is a line" + "\n" + "This is another line.";
this.txtHolder.text = s;
That's it.
Upvotes: 0
Reputation:
On flex, while coding \n
is working well on mxml
or any xml
to define a line just use 
line entity.
I mean:
lazy
fox
gives us
lazy<br />
fox
Upvotes: 44
Reputation: 13
I just did this as follow,
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];
}
}
Thank you Tolgahan ALBAYRAK
Upvotes: 0
Reputation: 4324
In Flex if you are trying to place line next to previous line. Then just append it to previous line.
var line:String="Hello";
textarea1.text += line;
Now textarea1 which is your textarea in which you want to print this string will append to it.
Upvotes: 0
Reputation: 3287
@radekg
The OP is referring to the text string written in MXML syntax:
<mx:TextArea text="This is a new line" />
Upvotes: 5
Reputation:
I just tested following code:
<?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>
and with 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>
Both are working just fine. Maybe you're using mx:TextInput or mx:Label?
Upvotes: 0
Reputation: 7706
It should work or at the very least < br \> (without the spaces before the "br") should work if you are using htmlText.
I was using XML to fill in the TextArea and since I'm not entirely sure how to use HTML inside of XML (they mention that I should wrap it with CDATA tags) but I just did a simple
txt.replace("\\n", "<br/>");
Perhaps there's a better way to go about it but this works out nicely.
EDIT: I had a space after the "br"
Upvotes: 0
Reputation: 68681
Try
"This is a line {\n} This is another line."
Alternatively, use the htmlText attribute and use
"This is a line <br> This is another line."
Upvotes: 3