Java Andengine-handler.postDelayed不';行不通
一秒钟后,我想在游戏中做一个简单的动作。我有一个游戏场景类,它扩展了Andengine的场景Java Andengine-handler.postDelayed不';行不通,java,android,handler,andengine,postdelayed,Java,Android,Handler,Andengine,Postdelayed,一秒钟后,我想在游戏中做一个简单的动作。我有一个游戏场景类,它扩展了Andengine的场景 public class GameScene extends Scene{ //(...) Handler delayHandler; public GameScene(){ Looper.prepare(); delayHandler = new Handler(); } //(...) public void sphereTouched
public class GameScene extends Scene{
//(...)
Handler delayHandler;
public GameScene(){
Looper.prepare();
delayHandler = new Handler();
}
//(...)
public void sphereTouched(){
//(...)
delayHandler.postDelayed(new Runnable() {
public void run(){
Log.d("DEB","postDelayed test");
}
}, 1000);
}
}
调用sphereTouched函数时,postDelayed中的操作不会运行。该功能的其他操作正常工作。我遗漏了什么吗?将此代码用于处理程序
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// your code
}
}, 1000);
你不使用Asynctask吗?你初始化delayHandler了吗?我不知道这是否相关(也许你有两个单独的处理程序,只初始化了一个?)或者没有(可能只是这里发布的代码中的一个错误),但是请注意,您在
sphereTouched
中使用了delayHandler
,但只在构造函数中初始化了handler
。日志中有什么内容吗?@kabuko-对不起,我在写问题时犯了一个错误。构造函数中有一个delayHandler(我刚刚更正了它)。它有什么不同吗?@Override public void run(){//your code}的确,我错过了@Override注释,但添加它时没有任何更改。check sphereTouched()方法被调用???@surbiks-是的,它是。在该方法中还有其他操作,它们工作得很好。