मैंने एक घटक लिखा है जो एक फ़ाइल नाम, एक थंबनेल प्रदर्शित करता है और फ़ाइल को लोड/चलाने के लिए एक बटन है। घटक दोहराने के लिए डेटाबेस है। मैं इसे कैसे बना सकता हूं ताकि बटन ईवेंट मुख्य एप्लिकेशन पर जा सके और उसे बताए कि कौन सी फ़ाइल खेलना है?एडोब फ्लेक्स घटक घटनाएं
5
A
उत्तर
1
अपने कस्टम घटक पर आप बटन क्लिक ईवेंट सुन सकते हैं और उसके बाद एक कस्टम इवेंट जेनरेट कर सकते हैं जिसमें फ़ाइल को चलाने के बारे में जानकारी है। फिर आप ईवेंट पर बुलबुले की संपत्ति को सही पर सेट कर सकते हैं और कस्टम ईवेंट को अपने कस्टम घटक से प्रेषित कर सकते हैं। बुलबुले की संपत्ति आपके ईवेंट को प्रदर्शन सूची को फ़्लोट कर देगी और आपके मुख्य एप्लिकेशन तक पहुंच जाएगी। अब आपके मुख्य एप्लिकेशन पर आप उस घटना को सुन सकते हैं और सही फ़ाइल चला सकते हैं। उम्मीद है की यह मदद करेगा।
1
यह पता चल (अंततः)
कस्टम घटक
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" x="0" y="0" width="215" height="102" styleName="leftListItemPanel" backgroundColor="#ECECEC" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Script>
<![CDATA[
[Bindable] public var Title:String = "";
[Bindable] public var Description:String = "";
[Bindable] public var Icon:String = "";
[Bindable] public var FileID:String = "";
private function viewClickHandler():void{
dispatchEvent(new Event("viewClick", true));// bubble to parent
}
]]>
</mx:Script>
<mx:Metadata>
[Event(name="viewClick", type="flash.events.Event")]
</mx:Metadata>
<mx:Label x="11" y="9" text="{String(Title)}" styleName="listItemLabel"/>
<mx:TextArea x="11" y="25" height="36" width="170" backgroundAlpha="0.0" alpha="0.0" styleName="listItemDesc" wordWrap="true" editable="false" text="{String(Description)}"/>
<mx:Button x="20" y="65" label="View" click="viewClickHandler();" styleName="listItemButton" height="22" width="60"/>
<mx:LinkButton x="106" y="68" label="Details..." styleName="listItemLink" height="18"/>
<mx:HRule x="0" y="101" width="215"/>
पुनरावर्तक
<mx:Canvas id="pnlSpotlight" label="SPOTLIGHT" height="100%" width="100%" horizontalScrollPolicy="off">
<mx:VBox width="100%" height="80%" paddingTop="2" paddingBottom="1" verticalGap="1">
<mx:Repeater id="rptrSpotlight" dataProvider="{aSpotlight}">
<sm:SmallCourseListItem
viewClick="PlayFile(event.currentTarget.getRepeaterItem().fileName);"
Description="{rptrSpotlight.currentItem.fileDescription}"
FileID = "{rptrRecentlyViewed.currentItem.fileName}"
Title="{rptrSpotlight.currentItem.fileTitle}" />
</mx:Repeater>
</mx:VBox>
</mx:Canvas>
हैंडलिंग समारोह
private function PlayFile(fileName:String):void{
Alert.show(fileName.toString());
}