所以我有2个州:menu-state
和play-state
。
如果我在play-state
并点击了Android back-button
,那么它会退出应用。但我希望back-button
转而回到menu state
。
如何设置? OnBackPressed
无效,因为我没有Activity
。
相反,我尝试在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()
也在不断更新。
我希望你们能帮助我,因为这对我来说非常重要,我试着解决它几个小时。
我会快速回答问题。
感谢。
答案 0 :(得分:0)
Android活动存储在活动堆栈中。如果你想回归一项活动,可以使用以下内容:
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
这将完成您当前的活动,并让您回到上一次活动。
但是如果你已经完成了最后一次活动,那么你需要再次启动它。这意味着你需要这样说:
Intent first_intent = new Intent(getApplication(), First_Activity.class);
startActivity(first_intent);
答案 1 :(得分:0)
@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 - 你在用什么?