我正在使用 Flex/Air 开发 iPad 应用程序。我在自定义列表项渲染器中遇到数据绑定问题。
我有一个包含类集合的列表作为数据提供者。每个类都启用了一个静态属性。我使用项目渲染器显示每个类,在启用 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>
因此,当我更改 MyClass 的启用属性时,列表不会更新。项目渲染器仍处于禁用状态。
MyClass.enabeled = true;
你知道问题可能是什么吗?
先感谢您!伊万