Балаларға аккордеонға 4 қалай қосылады?

Мен мұны түсінуге тырысып, сағатты өткіздім ... кез келген көмек өте жоғары бағаланады!

Менде AccordCollection бар, ол аккордеонның контейнерлерін программалық түрде жасау үшін оқылады:

    
        
        
        
        
    

Мен аккордеон балаларын осылай жасаймын:

    for (var num1:int = 0; num1 <= _ac_ps.length - 1; num1++)
                    {
                        navContent = new NavigatorContent();
                        navContent.percentWidth = 100;
                        navContent.percentHeight = 100;
                        navContent.label = _ac_ps[num1].label;
                        navContent.id = ""+_ac_ps[num1].data;
                        navContent.name = ""+_ac_ps[num1].data;
                        ////(""+navContent.id);
                        _searchAccordion.addChild(navContent);
                    }

Бұл жақсы жұмыс істейді. Енді мен жасағым келеді аккордеонның навигатор мазмұнының иесіне негізделген, балаларды қосыңыз. Мысалы, «Label» типіндегі еншілес элементін «_blocklot» идентификаторымен бірге навигаторға қосыңыз, бірақ «_address» идентификаторымен navigatorContent нысанына textInput жолағына қосылғым келеді.

    private function loadSearchControls( ):void
        {
            var accordionChildren:Array = _searchAccordion.getChildren();
            for each(var currentnavContent:NavigatorContent in accordionChildren)
            {
                Alert.show (""+currentnavContent.id, "currentnavContent.id");
                if (currentnavContent.id == "_blocklot")
                {

                    try{
                        var _label:Label = new Label();
                        _label.text = "come on now!!!!!!";
                        //SO HOW DO I CAPTURE THE ID SO THAT I CAN ADD THIS LABEL AS A CHILD???
                        //_searchAccordion._blocklot.addChild(_label);  does not work

                    }
                    catch(errorObj:Error)
                    {
                        Alert.show("nope");
                    }


                }
                else if (currentnavContent.id == "_address" )
                {
                    Alert.show("bbb");
                }
            }
0
Жауапты мына жерде де тексере аласыз: stackoverflow.com/questions/7885478/…
қосылды автор kbgn, көзі

1 жауаптар

Бұл сізге жұмыс істеуі керек. АғымдағыNavContent сіз қалағаныңыздың бар-жоғын анықтадыңыз, сондықтан ағымдыNavContent элементіне басқару элементін қосыңыз.

        private function loadSearchControls(event:MouseEvent):void
        {
            var accordionChildren:Array = _searchAccordion.getChildren();
            for each(var currentnavContent:NavigatorContent in accordionChildren)
            {
                Alert.show (""+currentnavContent.id, "currentnavContent.id");
                if (currentnavContent.id == "_blocklot")
                {

                    try{
                        var _label:Label = new Label();
                        _label.text = "come on now!!!!!!";
                        //SO HOW DO I CAPTURE THE ID SO THAT I CAN ADD THIS LABEL AS A CHILD???
                        //_searchAccordion._blocklot.addChild(_label);  does not work
                        currentnavContent.addElement(_label);

                    }
                    catch(errorObj:Error)
                    {
                        Alert.show("nope");
                    }


                }
                else if (currentnavContent.id == "_address" )
                {
                    Alert.show("bbb");
                }
            }
        }
0
қосылды
Кірістірілген динамикалық балалардың күрделілігіне байланысты біз бұл тұжырымдаманы аккордеондармен айналыстық.
қосылды автор jeep, көзі