2011-10-17 3 views
0

아이템 렌더러가 사용되지 않을 때 올바르게 정렬되는 일반 스파크 목록이 있습니다. 그러나 다음 항목 렌더러가 사용되면 목록은 이전 목록 인스턴스의 항목을 임의로 표시하고 표시합니다. 어떤 도움을 주시면 감사하겠습니다.Flex Spark List 구성 요소 항목 순서

<?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" 
       creationComplete="itemRendererInit(event)"> 

<fx:Script> 
    <![CDATA[ 
     import flash.utils.setInterval; 

     import flashx.textLayout.conversion.TextConverter; 

     import mx.events.FlexEvent; 

     protected function itemRendererInit(event:FlexEvent):void { 
      setInterval(resizeItemRenderer, 50); 
      richtext.textFlow= TextConverter.importToFlow(
       '<TextFlow xmlns="http://ns.adobe.com/textLayout/2008"><linkNormalFormat color="#ac0000" textDecoration="none"/><linkHoverFormat color="#ac0000" textDecoration="underline"/><linkActiveFormat color="#ac0000" textDecoration="none"/><p><span fontWeight="bold">' + 
       data[0].toString() + 
       ':</span><br/><br/>' + 
       data[1].toString() + 
       '</p></TextFlow>', TextConverter.TEXT_LAYOUT_FORMAT); 
     } 

     private function resizeItemRenderer():void { 
      richtext.width = parentApplication.width-525; 
     } 
    ]]> 
</fx:Script> 

<s:RichEditableText id="richtext" 
      paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10" 
      verticalAlign="middle" editable="false" textAlign="left"/> 

</s:ItemRenderer> 

답변

0

결국 데이터 바인딩 문제로 판명되었습니다. 고마워요. M.D.

0

내 머리 꼭대기 바로 위에 creationComplete 이벤트를 사용하는 대신 commitProperties를 재정의하십시오. creationComplete에서 invalidateProperties를 호출 한 다음 commitProperties()에서 함수를 호출하면됩니다.

관련 문제