package asas
{
public class main extends EventDispatcher
{
private static var instance:main =new main;
// This method returns the instance of the class.
public static function get instance() : main {
if(_instance == null){
_instance = new main();
}
return _instance;
}
public function doCheck():void {
}
我有这个类和一个MXML文件......我将如何在按钮中调用doCheck函数。当我这样打电话时,它会给我一个错误。
<mx:Button
styleName="LoginButton"
id="loginButton"
click="main.instance.doCheck();"
x="160"
y="261"
/>
答案 0 :(得分:1)
您的私有实例变量名为instance
,但您尝试在getter中分配给名为_instance
的变量。
改变这个:
private static var instance:main =new main;
到此:
private static var _instance:main;
答案 1 :(得分:0)
Jeff L正确实施。 _instance属性应始终未初始化或设置为null。那就是说,这不是问题所在。
在尝试让MXML从该表示法中的其他对象的属性读取方法时,我的结果很差。我建议替换它:
<mx:Button
styleName="LoginButton"
id="loginButton"
click="main.instance.doCheck();"
x="160"
y="261"
/>
使用括号:
<mx:Button
styleName="LoginButton"
id="loginButton"
click="{ main.instance.doCheck(); }"
x="160"
y="261"
/>
这通常会给我更可靠的行为,我认为这也会有所帮助。
答案 2 :(得分:0)
这行代码没有意义,因为在你的代码中你使用了未声明的变量。
private static var instance:main =new main;
使用应将其更改为:
private static var _instance:main;