gpt4 book ai didi

java - libgdx:从浏览器恢复时 InputAdapter 不起作用

转载 作者:行者123 更新时间:2023-11-30 02:50:47 25 4
gpt4 key购买 nike

我有一个带有 InputMultiplexerScreen 实现,它在 show() 方法中初始化。 InputMultiplexer 使用 InputAdapterStage 对象进行初始化。InputAdapter 对象监听后退按钮。

class MyInputAdapter extends InputAdapter {
@Override
public boolean keyDown(int keycode) {
if (keycode == Keys.BACK) {
// do someting
return true;
}
return false;
}
}

class MyScreen implements Screen {
@Override
public void show() {
initInputProcessors();
}

private void initInputProcessors() {
if (backButtonInputProcessor != null) {
initInputMultiplexer();
Gdx.input.setCatchBackKey(true);
Gdx.input.setInputProcessor(inputMiltiplexer);
} else {
Gdx.input.setCatchBackKey(false);
Gdx.input.setInputProcessor(stage);
}
}

private void initInputMultiplexer() {
if (inputMiltiplexer == null) {
inputMiltiplexer = new InputMultiplexer();
inputMiltiplexer.addProcessor(backButtonInputProcessor);
inputMiltiplexer.addProcessor(stage);
}
}
}

一切正常,后退按钮没有任何问题。在以下情况下会出现问题。我使用 admob。所以当点击广告横幅时,这会将您带到浏览器。当您从浏览器返回到应用程序时,后退按钮不会被拦截,应用程序只会退出。

我还尝试在 resume() 方法中调用 InitInputProcessors 方法,结果相同。

最佳答案

我在 LibGDX 论坛上的问题的答案已经解决了。以下是solution by skunktrader :

Try adding this to your android MainActivity

@Override
public void onResume() {
super.onResume();
theView.requestFocus();
theView.requestFocusFromTouch();
}

Where theView is the value returned from initializeForView().

关于java - libgdx:从浏览器恢复时 InputAdapter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24224760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com