我创建了一个保存按钮,并在单击按钮时添加了一个eventlistener来运行saveAs()但是我正在
错误#1063:视图上的参数计数不匹配:: TxtView / saveAs()。预计为0,得到1。
我没有提供任何论据。
在我的init()中 ...
var saveAsFileBtn:IconButton = new IconButton();
saveAsFileBtn.setIcon("../icons/saveas.png");
saveAsFileBtn.width=100;
saveAsFileBtn.x=saveFileBtn.width+71;
saveAsFileBtn.sizeMode = SizeMode.BOTH;
saveAsFileBtn.sizeUnit = SizeUnit.PIXELS
saveAsFileBtn.addEventListener(MouseEvent.CLICK, saveAs);
...
然后
private function saveAs():void
{
trace("Save as");
var fileChooser:File;
if (currentFile)
{
fileChooser = currentFile;
}
else
{
fileChooser = File.documentsDirectory.resolvePath('untitled.html')
}
fileChooser.browseForSave("Save As");
fileChooser.addEventListener(Event.SELECT, saveAsFileSelected);
}
单击“另存为”按钮时,调试器将停止。
答案 0 :(得分:1)
您的方法定义不正确。
尝试:private function saveAs(event:MouseEvent):void
答案 1 :(得分:1)
Flex希望事件侦听器接受导致它被调用的MouseEvent。将方法定义更改为以下内容应该可以解决您的问题。
private function saveAs(e:MouseEvent):void
如果从任何其他上下文调用该方法,则可以传递null
作为参数。或者,您可以创建一个包含事件的小包装器方法,并在内部调用saveAs()
。
saveAsFileBtn.addEventListener(MouseEvent.CLICK, saveAsWrapper);
...
private function saveAsWrapper(e:MouseEvent):void
{
saveAs();
}