如果这个问题有点生疏,我很抱歉。我正在使用andengine,我的问题是特定于这个框架的。假设我创建一个iupdatehandler,如下所示:
this.registerUpdateHandler(new IUpdateHandler() {
@Override
public void onUpdate(float pSecondsElapsed) {
doUpdate(pSecondsElapsed);
}
@Override
public void reset() {
// TODO Auto-generated method stub
}
});
在我的doUpdate()方法中,我有一些需要的信息来确定是时候注销iupdatehandler了。有一个方法unregisterUpdateHandler(),这听起来很适合这个用途,但是为了使用它,我需要传递一些对UpdateHandler的引用,而我没有这样的引用。我错过了什么?
最佳答案
您提供的代码创建了您没有引用的IUpdateHandler
的匿名实例。相反,您应该首先将创建的IUpdateHandler
存储在一些变量中,例如IUpdateHandler myHandler = new IUpdateHandler() {...});
,然后使用this.registerUpdateHandler(myHandler)
注册它。有了对处理程序的引用,您可以使用前面提到的方法注销它。