我正在使用Flex/Air開發iPad應用程序。 我有自定義列表項呈示器中的數據綁定問題。DataBinding在自定義列表中無法正常工作itemrenderer
我有一個類的集合列表作爲數據提供者。 每個類都啓用了靜態屬性。我使用項目渲染器顯示每個類,其中啓用了Class屬性時啓用了項目渲染器。
的類看起來像:
public class MyClass
{
public static const var name:String = "My Class";
private static var enabled:Boolean = false;
[Bindable]
public static function get enabled():Boolean
{
return enabled;
}
public static function set enabled(value:Boolean):Boolean
{
enabled = value;
}
}
然後,我有名單:
<list dataProvider={new ArrayCollection([MyClass])} itemRenderer="CustomItemRenderer"/>
而且CustomItemRenderer看起來像這樣:
<s:ItemRenderer autoDrawBackground="false" enabled={data.enabled}>
<s:label text={data.name}/>
<s:/ItemRenderer>
所以,當我改變enabeled MyClass的屬性,列表不會更新。 項目渲染器仍然是disabeled。
MyClass.enabeled = true;
你有什麼想法是什麼問題?
預先感謝您! 伊萬
請分享一些代碼。例如,我不知道這是什麼意思「我使用項目渲染器顯示每個類,其中啓用了Class屬性時啓用了項目渲染器。」你不能改變類的屬性 - 除非它們是靜態屬性,在這裏可能不是這種情況。你必須在類的一個實例上改變它們。你在改變什麼樣的屬性;你怎麼改變它們?你可能需要在ArrayCollection上調用itemUpdated – JeffryHouser
你好,我已經分享了一些例子。我希望它能幫助你更好地理解我的問題。感謝您的關注。 –