紐があります
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s; //.text has \n, not a new line
テキスト領域に入れたいのですが、改行文字は無視されます。割り当てられたときにテキストを希望の場所で改行させるにはどうすればよいですか?
フレックス上、コーディング中\n
はmxml
またはxml
でうまく機能しており、
行エンティティ。
というのは:
lazy
fox
くれます
lazy<br />
fox
{\ 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."
Flexでは、前の行の隣に行を配置しようとしている場合。次に、それを前の行に追加します。
var line:String="Hello";
textarea1.text += line;
この文字列を印刷したいテキストエリアであるtextarea1が追加されます。
私は次のコードをテストしました:
<?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を使用していますか?
やったほうがいい:
var s:String = "This is a line" + "\n" + "This is another line.";
this.txtHolder.text = s;
それでおしまい。
私は次のようにこれをやった、
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];
}
}
トルガハンアルバラック
HtmlTextを使用している場合は、機能するか、少なくとも<br \>(「br」の前のスペースなし)が機能するはずです。
私はXMLを使用してTextAreaに入力していましたが、XML内でHTMLを使用する方法が完全にわからないため(CDATAタグでラップする必要があると述べています)、単純な
txt.replace("\\n", "<br/>");
たぶん、もっと良い方法があるでしょうが、これはうまくいきます。
編集:「br」の後にスペースがありました