取消选择后无法在spark.components.List中选择项目

时间:2010-12-21 20:33:53

标签: flex actionscript

我将spark列表定义为:

<s:List id="symbolList"  dataProvider="{symbolListCollection}" change="symbolNameChangeHandler(event)"></s:List>

使用如下定义的更改处理程序:

protected function symbolNameChangeHandler(event:IndexChangeEvent):void {
   symbolList.validateProperties();
   changeSymbolView(symbolList.selectedItem);
}

和symbolListCollection作为一个填充了字符串的ArrayList。

首先,改变事件正常,我得到了我期望的结果。

但是,如果我按住Ctrl键并单击所选项目,要取消选择它,我将无法再次选择项目。

当我点击某些内容尝试选择它时,更改事件会触发,但是,ItemChangeEvent将oldIndex和newIndex都设置为-1

知道我可能做了什么导致这种情况,或者我可以做些什么来补救它?

1 个答案:

答案 0 :(得分:0)

确定找到了我自己的问题。

在方法changeSymbolView()中,我有以下一行:

if(selectedItem == null) {
   symbolList.selectedItem = null;
}

不知何故,这条线阻止它再次被选中。删除它导致它按预期工作。