![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2011
Сообщений: 19
|
Вообщем есть лист в который добавляются изображения если в в сорце image пишу сайт все норм, но мне надо что бы я мог программно задавать сорц.
думаю ошибка где-то в районе url = new URLRequest(s); опыта программирования мало сам никак не разберусь. var url: URLRequest; var i: int; var s: String; for (i = 1; i < 8; ++i){ s = ("http://site.com/imgfolder/img"+i.toString()+".jpg"); url = new URLRequest(s); mass.push(i); } hl1.dataProvider = new ArrayCollection(mass); ...... <mx:HorizontalList id="hl1" x="200" y="500" width="500" height="115"> <mx:itemRenderer> <fx:Component> <mx:HBox paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5"> <mx:Image width="100" height="100" source="url"/> </mx:HBox> </fx:Component> </mx:itemRenderer> </mx:HorizontalList> Последний раз редактировалось Fantonyks; 15.02.2011 в 10:43. |
|
|||||
|
Попробуйте source="{url}", но тогда нужно сделать [Binbable] var url: URLRequest;
либо задайте картинке id и тогда в скрипте myImageId.source = url; Проверить не могу, у меня загадочным образом такая конструкция итемрендерера выдает ошибку. |
|
|||||
|
Насчет такого создания рендереров вас Алатар упрекнёт.
Насчет картинки вас не смущает, что один урл на все итемы?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 67
|
много способов решить проблему.
1) если фоток не много можно сделать несколько классов [Embed(source="images/1.png")] public var temp1Class:Class; [Embed(source="images/2.png")] public var temp2Class:Class; и потом программно менять image_id.source = temp2Class 2) если фотографий много то можно использовать вот такую функцию // функция загрузки фото public function loadPhoto(Img:Image, path:String):void { var context:LoaderContext = new LoaderContext(); context.checkPolicyFile = true; // Заставляем проверить политику var avaloader:Loader = new Loader();// новый загрузчик var avarequest:URLRequest = new URLRequest(); //новый Url запрос avarequest.url = path; //присваеваем URL адресу ссылку avaloader.contentLoaderInfo.addEventListener(Event.COMPLETE, function ():void { Img.source = avaloader; } ); //добавляем слушителя когда загрузиться аватарка avaloader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function ():void { Img.source = noavatarClass; } ); avaloader.load(avarequest, context); //начинаем грузить аватарку } |
|
|||||
|
1) вы пушите в массив целый тип i, от 1 до 8 - что это вам дает ?
2) посмотрите примеры с отдельным итемРендером, нужно урл еще и обрабатывать/биндить внутри итема |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 19
|
Немного разобрался всем спасибо (=
но проблемма так и не решена, дело как оказалось не в загрузке картинок а именно в итем рендере. т.е. провайдером для Тлиста является масив, к каждой записи рендер создает image - вот для этих image мне нужно задавать сорцы. Если сделать так: ... ... то в листе получаем картинки(ясно дело одни и те же), вот как сюда вогнать переменный урл, это и проблемма. вообщем курю книги/форумы дальше. Добавлено через 2 минуты 1) в массив писал что бы проверить создается или нет. Сейчас туда пишу урлы в стринге. 2) Посмотрю обязательно спасибо. |
|
|||||
|
Вот так работает.
[Bindable] public var photoList:ArrayList = new ArrayList([ {label:"Первая картинка", source:"http://mySite.com/1.jpg"}, {label:"Вторая картинка", source:"http://mySite.com/2.jpg"}, {label:"Третья картинка", source:"http://mySite.com/3.jpg"}]); <mx:TileList x="105" y="116" width="583" columnWidth="160" height="100" id="tileListPhoto" dataProvider="{photoList}" itemRenderer="TileListItemPhoto" itemClick="selectPhoto(event)"></mx:TileList> |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 67
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|