สคริปต์การกระทำ 3 และตัวสร้างรายการรูปภาพที่กำหนดเอง

ฉันมีตัวเรนเดอร์รายการแบบกำหนดเองซึ่งแสดง gif ที่แตกต่างกันในแถวโดยขึ้นอยู่กับค่าข้อมูลจากออบเจ็กต์ข้อมูล เมื่อฉันตั้งค่า URL แหล่งที่มาของรูปภาพโดยใช้เส้นทางสัมบูรณ์และไม่ฝัง มันก็ทำงานได้ดี แต่เมื่อฉันฝังรูปภาพ ฉันพบว่าเมื่อฉันเลื่อนขึ้นและลงในตาราง รูปภาพจะเลอะเทอะ และบางครั้งก็วางซ้อนกัน

ไม่มีใครมีความคิดเห็นว่าทำไมการฝังรูปภาพในตัวแสดงรายการ hbox ของฉันจึงทำให้เกิดความยุ่งยากมาก

รหัส

public var equipment:Image;
public var compr_icons:Bitmap = new AssetManager.COMPUTER_ICON;

.. do some logic
equipment.addChild(compr_icons);

person cdugga    schedule 25.06.2009    source แหล่งที่มา
comment
จัดงานอีเว้นท์ไหนครับ?   -  person bug-a-lot    schedule 25.06.2009


คำตอบ (1)


ในตัวแสดงรายการของคุณ ให้ลองแทนที่ตัวตั้งค่า data (ซึ่ง SDK เรียกโดยนัยสำหรับแต่ละรายการใน dataProvider ของคุณในขณะที่คุณนำทางผ่านการควบคุมที่ผูกกับข้อมูลใดก็ตามที่คุณใช้อยู่) และตั้งค่าคุณสมบัติ source ของรูปภาพจากที่นั่น เช่น ดังนั้น:

<mx:List dataProvider="{yourDataSource}">
    <mx:itemRenderer>
        <mx:Component>
            <mx:HBox>

                <mx:Script>
                    <![CDATA[

                        override public function set data(value:Object):void
                        {
                            super.data = value;

                            // Set your values here (value contains your data item)
                            myImage.source = value.yourImageSourceInstance;
                            myLabel.text = value.yourLabelText;
                        }

                    ]]>
                </mx:Script>

                <mx:Image id="myImage" />
                <mx:Label id="myLabel" />

            </mx:HBox>
        </mx:Component>
    </mx:itemRenderer>
</mx:List>

...และดูว่าจะช่วยได้หรือไม่ Flex อาจพยายามนำองค์ประกอบภาพของตัวเรนเดอร์กลับมาใช้ใหม่ โดยไม่ทราบว่าคุณตั้งใจที่จะสลับองค์ประกอบเหล่านั้นเมื่อข้อมูลของคุณมีการเปลี่ยนแปลง เมื่อดำเนินการแล้ว (เมื่อรายการข้อมูลได้รับการตั้งค่า) คุณจะสามารถควบคุมสิ่งที่เกิดขึ้นกับองค์ประกอบภาพของตัวแสดงภาพได้ชัดเจนยิ่งขึ้น

หวังว่าจะช่วยได้!

person Christian Nunciato    schedule 25.06.2009
comment
ฉันได้แทนที่วิธีข้อมูลที่ตั้งไว้แล้ว ไม่สามารถเข้าใจได้ว่าอะไรเป็นสาเหตุของปัญหา - person cdugga; 25.06.2009
comment
อาจลองโพสต์โค้ดเพิ่มเติมอีกเล็กน้อย สิ่งที่คุณโพสต์ไม่ได้บอกเล่าเรื่องราวได้มากพอที่จะทำอะไรได้มากกว่าการคาดเดาว่าปัญหาคืออะไร - person Christian Nunciato; 25.06.2009