问题描述
这是我的理解,显然是错误的,那的onPause()
被称为每当后退按钮是pressed?现在在我的code,我已经把这个的onPause()
事件:
It was my understanding, obviously wrong, that onPause()
is called whenever the back button is pressed? Now in my code I've put this onPause()
event:
@Override
protected void onPause(){
super.onPause();
if(!_END_GAME){
Builder _alert = new AlertDialog.Builder(this)
.setMessage("onPause, with game NOT over!");
_alert.setNeutralButton("OK.",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss(); // Kills the interface
System.runFinalizersOnExit(true);
finish();
}
});
_alert.setTitle("Your Score!");
_alert.show();
}
}
现在的问题是,该对话框不会推出什么那么以往,然后code错误的。我把对话框出现,试图以可视化的的onPause(
)被调用的地方,帮我调试其他一些变量和这样的。然而,正如我说从来没有被显示。任何想法,为什么这会是什么?是否有先于的onPause推出了功能()
时,后退按钮pressed?预先感谢您的任何信息。
Now the problem is, the dialog does not launch what-so-ever, and then the code errors out. I put the dialog there to try to visualize where the onPause(
) was called and help me debug some other variables and such. Yet like I said it never even gets shown. Any ideas why this would be? Is there a function that is launched prior to onPause()
when the back button is pressed? Thank you in advance for any info.
推荐答案
您应该通过重写检查后退按钮的onkeydown
在不测试在onPause
。 的onPause
被调用时,您的活动叶前景;它不一定整理。 (您可以检查 isFinishing()
了点。)请参阅的。
You should check for the back button by overriding onKeyDown
, not testing in onPause
. onPause
gets called whenever your activity leaves the foreground; it is not necessarily finishing. (You can check isFinishing()
for that.) See here for more info on handling the back key.
这篇关于当后退按钮pressed的onPause不叫?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!