متى تكون النقطة الصحيحة (من عرض دورة الحياة) لتعيين بيانات حاوية قائمة على Flex 3

StackOverflow https://stackoverflow.com/questions/2235312

سؤال

أقوم بعمل حاوية قائمة مع عارض البند الخاص بي لعرض ملف XML.

الآن، أنا تجاوز public override function set data(value:Object):void الطريقة في عارض البند الخاص بي، المشكلة هي أنه تم استدعاء هذه الوظيفة عدة مرات (!!) (أكثر من طول موفر البيانات).

ربما أنا لا أقوم بتعيين مقدم البيانات الصحيح، وهنا كيف أفعل ذلك:

أول إعلان ملكية قابلة للتغذية:

[Bindable]
private var _listDataProvider:XMLListCollection;

ثم إنشاء كائن قائمة:

<mx:List id="list" dataProvider="{_listDataProvider}" itemRenderer="myItemRenderer" />

ثم، قم بتحميل XML (مع Urlloader) وفي النتيجة القيام:

_listDataProvider = new XMLListCollection(xml..Person);

بناء XMLListCollection موافق (أستطيع أن أرى ذلك في تصحيح).

ما الخطأ الذي افعله؟؟؟؟؟

شكرا يا رفاق ...

هل كانت مفيدة؟

المحلول

يبدو لي أن لدي شعور بأن قائمة Flex 3 ومكونات DataProvider ذات الصلة ستقوم بتعيين البيانات عدة مرات لكل عنصر يعمل على الجولة الأولى (عدم الكفاءة في الإطار). في المرة الأولى، قد يقومون بإعدادها إلى NULL (هل يحدث ذلك؟)، ثم في المرة التالية التي قد يحددها على القيمة.

للحصول على هذا، فقط افعل شيئا مثل:

public function set data(value:Object):void
{
    if (super.data == value) 
        return;
    super.data = value;
}

الذي عليه أن يقوم بالخدعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top