Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   List+itemRenderer непонятное явление (http://www.flasher.ru/forum/showthread.php?t=146182)

kitsela 31.10.2010 02:00

List+itemRenderer непонятное явление
 
И так создаю ліст в каторий вкладиваю свой компонент
Код AS1/AS2:

        <mx:Script>
                <![CDATA[
                        import mx.collections.ArrayCollection;
                        [Bindable]
                        private var arr_country:ArrayCollection = new ArrayCollection([{ui:122,Name:"Україна"},{ui:123, Name:"Росія"},{ui:124, Name:"Англія"}]);
              ]]>
        </mx:Script>
        <mx:List dataProvider="{arr_country}" width="100%" height="400">
                <mx:itemRenderer>
                        <mx:Component>
                                <mx:VBox width="100%"  verticalAlign="top">       
                                        <ns1:Viewer setUi="{data.ui}">
                                        </ns1:Viewer>
                                </mx:VBox>
                        </mx:Component>
                </mx:itemRenderer>
        </mx:List>

затам с помощью creationComplete="ViewerAdd()" визиваю функцию ViewerAdd()

Код AS3:

 
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="ViewerAdd()" width="500" height="100" borderStyle="solid" borderThickness="3" cornerRadius="10">
 
        <mx:Script>
                <![CDATA[
 
                        import mx.controls.Alert;
 
                        public var setUi:Number = new Number();
 
 
                        public function ViewerAdd():void{
                                Alert.show(setUi.toString());
 
                        }
 
                ]]>
        </mx:Script>
 
</mx:Canvas>

Работает,... на сцене появляетса 3 компонента, а вот Alert срабативает 4 раза......
2 последних видают одно и тоже....помогите разобрастса откуда еще 1 раз

litebox 01.11.2010 14:59

Сталкивался с аналогичной проблемой, причем и в mx:TileList и в s:List... Видимо это особенности внутренней логики работы компонентов... Такое ощущение, что первый itemRenderer создается несколько раз, при чем их кол-во у меня варьировалось от 1 до 3

dj_Kayot 06.11.2010 03:17

Скорее всего это запасные итемы. на случай если произойдет скролинг листа

ShockWave512 07.11.2010 01:08

Цитата:

Сообщение от dj_Kayot (Сообщение 947909)
Скорее всего это запасные итемы. на случай если произойдет скролинг листа

ага, примерно так и есть,
еще учитывайте что сеттер data тоже не по одному разу может вызываться

kitsela 09.11.2010 02:38

сечас вилез глюк, при поиске виводит результат, если 4 результата, то первий раз нормально, а если при следуещем поиске также 4 результата, то один вобще не отображаетса, а 2 однакови........посоветуйте, как решить проблему..

kitsela 17.11.2010 02:03

и так пришед к тому что надо следующий код перевести на AS3
помогите плиз
Код AS3:

                                        <mx:List dataProvider="{love}" width="592" height="2000" x="5" y="50"  id="sl">
                                                <mx:itemRenderer>
                                                        <mx:Component>
                                                                <mx:VBox width="100%"  verticalAlign="top">       
                                                                        <ns2:userViewer contact="{data}">
                                                                        </ns2:userViewer>
                                                                </mx:VBox>
                                                        </mx:Component>
                                                </mx:itemRenderer>
                                        </mx:List>



Часовой пояс GMT +4, время: 13:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.