【发布时间】:2011-04-04 15:44:56
【问题描述】:
我有一个 Spark.List,其中包含多个项目(“文件夹”),每个项目都包含一个 ArrayList 文件,当我选择其中一个“文件夹”时,它应该在另一个 Spark.List 上显示“文件”列表。它现在可以通过这样做:
private function onFolderChange (event:*):void {
var list:List = event.currentTarget as List;
if (list.selectedIndex != -1) {
currentFolder = null;
currentFolder = list.selectedItem;
fileListDataProvider = currentFolder.files;
fileList.selectedIndex = -1;
}
}
问题在于,当“文件”缩略图覆盖的范围超过列表视口时,有时需要通过从“文件夹”更改为另一个“文件夹”来滚动,文件列表会丢失文件。
例如,假设有一个“文件夹 1”,其中有 30 个“文件”(10 个可见,20 个被滚动条隐藏),如果我切换回来,“文件夹 2”有 5 个“文件”(全部可见)在“文件夹”之间来回切换有时它会正确显示所有内容,有时它会在不需要时在“文件夹 2”上显示滚动,有时它只会在“文件夹 1”中显示几个(5 或 10 个)“文件”即使它有 30 个。
fileList 出了点问题,它更新了它的项目,但没有真正很好地更新。我尝试将 itemRenderer 设置为 null 并重新应用,将 dataProvider 设置为 null 并重新应用,执行 validateNow().... 我有点迷路了。
有什么想法吗?
【问题讨论】:
标签: apache-flex list