1

カスタム ItemRenderer を使用する Spark リストの日付プロパティを効率的にフォーマットしたいと考えています。すべての日付は同じ形式にする必要があるため、リスト項目ごとに新しい DateTimeFormatter をインスタンス化する必要はありません。以下の例で、単一の DateTimeFormatter を使用してプロパティ data.lastModified をフォーマットするにはどうすればよいですか?

<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark" 
                xmlns:mx="library://ns.adobe.com/flex/mx" 
                autoDrawBackground="true">
    <mx:VBox height="100%" width="100%" paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10">
        <s:Label text="{data.name}" fontSize="16" height="100%"/>
        <mx:HBox width="100%">
            <s:Label text="{data.client}"/>
            <s:Label width="100%" text="{data.lastModified}" textAlign="right"/>
        </mx:HBox>
    </mx:VBox>
</s:ItemRenderer>

使用方法は次のとおりです。

<s:List id="projectsList" left="12" top="172" bottom="10" width="303"
                    dataProvider="{projectsArray}" itemRenderer="ProjectListItemRenderer"></s:List>
4

1 に答える 1

2

ActionScript で DateFormatter を定義し、静的にします。このような種類:

public static var dateFormatter : DateFormatter = new DateFormatter();

これにより、クラスのインスタンスの数に関係なく、DateFormatter の単一のインスタンスが作成されます。ただし、クラス名を使用して DateFormatter にアクセスする必要があります。DateFormatter のプロパティを設定する必要がある場合は、静的メソッドで行うことができます。このようなもの:

public static var dateFormatter : DateFormatter = ThisClass.createDateFormatter();

public static function createDateFormatter():DateFormatter{
  var df :DateFormatter = new DateFormatteR():
  df.dateStyle = DateTimeStyle.MEDIUM;
  return df;
}
于 2012-12-12T19:18:43.370 に答える