所以我有两个状态:一个menu-state和一个play-state。
如果我在play-state中点击android back-button,它就会退出应用程序。但我想让back-button把我转回menu state。
我该怎么设置呢?因为我没有Activity,所以OnBackPressed不能工作。
相反,我尝试在play-state中像这样设置它
@Override
public void handleInput() {
if (Gdx.input.isKeyPressed(Input.Keys.BACK)){
gsm.set(new MenuState(gsm));
}
}这是一种工作,但不是我想要的方式。因此,如果我现在单击back-button,它会转到menu-state,但会在Play-State和Menu-State之间循环,然后退出应用程序。但是当我拿着back-button,在大约3秒后释放它,然后我在K中,它停留在那里,就像我想要的那样。
handleInput()也在不断更新。
我希望你们能帮助我,因为它对我来说真的很重要,我试着修复它几个小时。
我会快速回答你的问题。
谢谢。
发布于 2016-09-24 19:52:15
Android活动存储在活动堆栈中。如果你想返回一个活动,你可以使用类似这样的东西:
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}这将结束您当前的活动,并让您返回到上一次活动。
但是如果你已经完成了你的最后一个活动,也就是第一个活动,你需要重新开始它。这意味着你需要这样说:
Intent first_intent = new Intent(getApplication(), First_Activity.class);
startActivity(first_intent);发布于 2016-09-24 20:06:05
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Logic you want here
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}你有没有尝试过实现onKeyDown?它可能是Activity超类的一部分,并且您提到您没有使用Activity -您使用的是什么?
https://stackoverflow.com/questions/39675913
复制相似问题