的Flex - 参数数量不匹配,期望得到0 1
问题描述:
我创建了一个保存按钮,点击该按钮,但我 的Flex - 参数数量不匹配,期望得到0 1
错误#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);
}
随着按钮被点击保存时,调试停止。
答
您的方法定义不正确。 Try:private function saveAs(event:MouseEvent):void
答
Flex希望事件侦听器接受导致它被调用的MouseEvent。将您的方法定义更改为以下内容应该可以解决您的问题。
private function saveAs(e:MouseEvent):void
如果该方法是从其他任何上下文中调用,您可以通过一个null
作为参数。或者,您可以创建一个接收事件的小封装方法,并在内部调用saveAs()
。
saveAsFileBtn.addEventListener(MouseEvent.CLICK, saveAsWrapper);
...
private function saveAsWrapper(e:MouseEvent):void
{
saveAs();
}
谢谢你们。现在似乎很明显。 – RapsFan1981 2012-02-22 21:48:04
不客气:) – Nimaen 2012-02-23 08:05:44