Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   TileList и доступ к своему компоненту (http://www.flasher.ru/forum/showthread.php?t=116726)

charmer 09.10.2008 15:10

TileList и доступ к своему компоненту
 
Здравствуйте.
Подскажите, пожалуйста, как нужно обратиться к свойству компонента, находящегося внутри собственного компонента, если собственный компонент является элементом TileList. Через id- не получается(. На форуме пишут, что проблема может быть в том, что он еще не создан полностью.
У меня в общем виде такая задача:
по нажатию на кнопку добавиь в TileList свой компонент и поменять свойство входящего в него компонента, например, для Label - text.
Компонент добавляется нормально, в самом компоненте добавлен listener на CREATION_COMPLETE. После создание Label.text получает нужное значение. А вот как сделать, чтобы после его появления в tilelist можно было изменить текст?

charmer 21.10.2008 19:13

Что-то никто не отвечает...:(
Попробую задать вопрос более подробно...
Есть TileList. В него добавляются компоненты:
Код:

var new_component:Item=new Item();
new_component.lbl.text="новый текст"; //не работает
trace(new_component);  //выдает Item
trace(new_component.lbl);  //null
trace(new_component.lbl.text);  //TypeError: Error #1009: Cannot access a property or method of a null object reference
TileListdp.addItem(new_component);

TileListdp- это ArrayCollection.
Item- это мой компонент на основе Canvas:
Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="188" height="162" creationComplete="MyF(event)"  xmlns:ns1="myComponents.*">
        <mx:Script>
        <![CDATA[
              .........
        ]]>
</mx:Script>
        <ns1:IntoItem3 x="10" y="10" width="168">
        </ns1:IntoItem3>
        <mx:CheckBox x="157" y="110" label="выбор" />
        <mx:Label id="lbl"  x="11" y="130" text="old" width="164" height="25" />
</mx:Canvas>

Скажите, пожалуйста, как после добавления в TileList изменить new_component.lbl.text?

CyberGhost 25.10.2008 15:22

В Script пишем
[Bindable]
private var text:String;

Label меняем на
<mx:Label id="lbl" x="11" y="130" text="{text}" width="164" height="25" />

Задаем новый текст так
new_component.text="новый текст"

charmer 28.10.2008 18:57

Так пробовала.. не получается..
Только public вместо private..
значение text нужно изменить из другого mxml... т.е. из главного, в котором находится кнопка. При нажатии на кнопку нужно добавить компонент и изменить его lbl.


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

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