Ответ 1
В flex, в то время как кодирование \n
работает хорошо на mxml
или любом xml
, чтобы определить строку, просто используйте объект 
.
Я имею в виду:
lazy
fox
дает нам
lazy<br />
fox
У меня есть строка
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s; //.text has \n, not a new line
и я хочу поместить его в текстовую область, но новый символ строки игнорируется. Как я могу убедиться, что текст разбивается там, где я хочу, когда он назначен?
В flex, в то время как кодирование \n
работает хорошо на mxml
или любом xml
, чтобы определить строку, просто используйте объект &#13;
.
Я имею в виду:
lazy&#13;fox
дает нам
lazy<br />
fox
not {\n}, но {'\n'}
@radekg
OP ссылается на текстовую строку, написанную в синтаксисе MXML:
<mx:TextArea text="This is a new line" />
Попробуйте
"This is a line {\n} This is another line."
В качестве альтернативы используйте атрибут htmlText и используйте
"This is a line <br> This is another line."
Он должен работать или, по крайней мере, br \ > (без пробелов перед "br" ) должен работать, если вы используете htmlText.
Я использовал XML для заполнения TextArea, и поскольку я не совсем уверен, как использовать HTML внутри XML (они упоминают, что я должен обернуть его тегами CDATA), но я просто сделал простой
txt.replace("\\n", "<br/>");
Возможно, есть лучший способ сделать это, но это хорошо работает.
EDIT: у меня было место после "br"
Я только что протестировал следующий код:
<?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>
и с 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>
Оба работают отлично. Возможно, вы используете mx: TextInput или mx: Label?
В Flex, если вы пытаетесь разместить строку рядом с предыдущей строкой. Затем просто добавьте его в предыдущую строку.
var line:String="Hello";
textarea1.text += line;
Теперь textarea1, который является вашей текстовой областью, в которую вы хотите распечатать эту строку, будет добавлен к ней.
Я просто сделал это, как следует,
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];
}
}
Спасибо, Толгахан АЛЬБАЙРАК
Вам следует:
var s:String = "This is a line" + "\n" + "This is another line.";
this.txtHolder.text = s;
Что это.