我正在异步地从服务器下载库。在其DirectoryListing处理程序中,我正在更新状态栏。但是更新的状态栏没有呈现.Below是处理程序的代码。
private function fetchAllFilesFromDirectory(f:File):void
{
var list:Array=f.getDirectoryListing();
Application.application.status = "Downloading Local Library..."+list.length+"% Loaded";
}
任何人都可以告诉我一个解决方案。
提前致谢。
答案 0 :(得分:3)
您正在使用getDirectoryListing()
而不是使用名为getDirectoryListingAsync()
的函数的异步版本。 Adobe网站上的示例显示了如何使用它。
import flash.filesystem.File;
import flash.events.FileListEvent;
var directory:File = File.userDirectory;
directory.addEventListener(FileListEvent.DIRECTORY_LISTING, directoryListingHandler);
directory.getDirectoryListingAsync();
function directoryListingHandler(event:FileListEvent):void {
var list:Array = event.files;
for (var i:uint = 0; i < list.length; i++) {
trace(list[i].nativePath);
}
}
请注意,即使这样也不会让您显示进度条,因为您将在一次回调中获得整个响应。您可以使用微调器,这表示应用程序正在等待响应。触发回调后,关闭动画并显示结果。