因此,当用户通过按主页按钮关闭应用程序时,我会尝试运行一段代码。我猜这个时候会调用pause()
方法。但是,当我在暂停方法中尝试println
时,我会暂停"通过按主页按钮,pause()
功能似乎永远不会运行。我究竟做错了什么?
@Override
public void pause() {
System.out.println("here");
}
答案 0 :(得分:2)
根据您的评论,您似乎在不调用超级方法的情况下覆盖了Game类中的pause
方法:
public void pause(){
//nothing
}
因此,您已删除了Game类调用活动Screen类的pause()
方法的原始功能。
你应该确保调用这样的超级方法,这样就不会删除功能了:
public void pause(){
super.pause();
//other code you might want to add
}
如果您不需要在此处添加代码,则不应在Game类中覆盖pause()
。
最重要的是,每当你覆盖一个方法时,总是调用超类的相同方法的实现,除非你特别想要改变它的行为而不是只是添加它。