我尝试覆盖此方法并遇到一些问题
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
if(screenStatus >=1)
{screenStatus=0;
indexMenu();
}
if(screenStatus==0)
{
finish();
}return false;
}
return super.onKeyDown(keyCode, event);
}
当我按下后退按钮我的应用程序关闭..但如果看到代码..必须有调用函数indexMenu(); 我的意思是我有菜单...从菜单中按一下(例如开始..)并有新窗口..我按下后退按钮,我看到app如何返回主菜单(indexMenu())而不是关闭(返回indexMenu()后1秒
有人可以告诉我如何解决这个问题吗?
的问候,彼得
我在这里找到的类似问题Back button and last activity 但我不需要alertBuilder ..而且屏幕上不需要其他消息..只想回到indexMenu()没有问题。
帮助后更新 好的帮助后,这段代码对我来说非常适合:
@Override
public void onBackPressed()
{
if (screenStatus>=1)
{
indexMenu();
screenStatus=0;
// super.onBackPressed();
}
else if(screenStatus==0)
{
finish();
super.onBackPressed();
}
}
感谢: lordl , PKeidel
答案 0 :(得分:2)
我这样做了,它运作良好:
@Override
public void onBackPressed()
{
if (youWantToCloseTheApp)
super.onBackPressed();
else
// Do other funny things here
}
答案 1 :(得分:1)
改为覆盖onBackPressed(),并在那里处理它。 如果你不调用super.onBackPressed(),应用程序将不会关闭。