Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как добавить элемент List динамически (http://www.flasher.ru/forum/showthread.php?t=198819)

syegorius 07.05.2013 02:37

как добавить элемент List динамически
 
доброе время суток.

у меня есть mxml файл в котором добавляется элемент List таким способом:

Код:

<mx:List width="500" height="100" id="fileList" left="500"  />
в этот елемент я добавляю ссылки на файлы, которые потом можно скачать:

Код AS3:

public function receiveFile(info:Object):void{
dp.addItem( { label:info.name, file:info.file } );
fileList.dataProvider = dp;
}

но мне нужно добавить этот элемент динамически с указанной шириной высотой и координатами. как это сделать при помощи actionscript внутри самого кода?

или возможно его можно заменить на другой элемент который будет выполнять все его ф-нции. то есть что бы по клику на ссылку началось сохранение переданного файла...

заранее спасибо за помощь!

AlexLucas 07.05.2013 13:50

Также как и любой другой компонент
Код AS3:

public function addNewList(w:Number, h:Number, x:Number, y:Number):void
{
    var l:List = new List();
    addChild(l);
    //задаёте w/h/x/y ....
    ...
    //заполняете его содержимым
    ....
    //и ловите клик
    l.addEventListener(Event.CHANGE, loadFile);
}
 
private function loadFile(event:Event):void
{
    var fileName:String = event.currentTarget.selectedItem.data;
    //грузите файл
}


syegorius 07.05.2013 20:34

я нашел эту статью http://help.adobe.com/ru_RU/ActionSc...5b32-7fa6.html. сдклал все как там говорится. но компилятор постоянно выдает ошибку на
Код AS3:

list.setSize(vWidth,vHeight);

типа такой ф-ции в клвссе нет. подключаю библиотеку import mx.controls.List; В чем может быть дело?

Ошибка "Error: Call to a possibly undefined method setSize through a reference with static type mx.controls:List"

Inet_PC 07.05.2013 20:53

Цитата:

я нашел эту статью http://help.adobe.com/ru_RU/ActionSc...5b32-7fa6.html. сдклал все как там говорится. но компилятор постоянно выдает ошибку на
Код AS3:
list.setSize(vWidth,vHeight);
типа такой ф-ции в клвссе нет. подключаю библиотеку import mx.controls.List; В чем может быть дело?

Ошибка "Error: Call to a possibly undefined method setSize through a reference with static type mx.controls:List"
В этой статье используется компонент fl.controls.List, а Вы используете mx.controls.List. В классе mx:List нет метода setSize, отсюда и ошибка.
Код AS3:

import mx.controls.List;
 
//..
 
var list:List = new List();
list.x = 15;
list.y = 30;
list.width = 200;
list.height = 400;
list.dataProvider = new ArrayCollection(["link_1","link_2","link_3"]);
addChild(list);
//или addElement(list); если используется flex 4 и выше.



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

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