我在我的应用程序中使用了状态。事情是我已经在列表中的第一个项目被选中。所以我这样给了,
if(itemIndex == 0)
this.currentState="selected";
这很好用。问题是当选择其他项目时,第一项不会改变其状态,它会一直处于选中状态,直到被点击为止。 我的代码看起来像这样,
<s:BorderContainer id="outerCont" width="275" height="100" borderVisible="false"
backgroundColor.normal="#3D3C3C" backgroundAlpha.selected="0.1"
backgroundColor.selected="{data.color}">
我的州是这样的,
<s:states>
<s:State name="normal" />
<s:State name="hovered" />
<s:State id="selState" name="selected" />
</s:states>
提前致谢!!
答案 0 :(得分:1)
在用于更改状态的代码中,您永远不会更改回默认状态。所以,当itemIndex为0时;你设置为选定状态;但没有显示代码来移离选定的状态。尝试这样的事情:
if(itemIndex == 0)
this.currentState="selected";
else
this.currentState="someOtherState";
要在Flex列表中选择某些内容时更改状态,您可以使用更改事件:
<s:List change="onChange()" />
<fx:Script><[[
public function onChange():void{
if(itemIndex == 0)
this.currentState="selected";
else
this.currentState="someOtherState";
}
]]></fx:Script>
这有帮助吗?如果不;你需要详细说明一点。