创建MainActivity类时,我更改了“扩展”以扩展BaseGameActivity以实现Google+登录。这有一些缺点。我无法再处理onBackPressed()onTouchEvent(MotionEvent e)。这种糟透了。

修复onTouchEvent很容易。我的游戏使用的SurfaceView可以进行触摸输入。但是对于onBackPressed,我不能简单地做到这一点。

任何人都知道如何处理后退按钮按下的事件。我看到Surfaceview和basegameactivity都有一个onKeyDown()方法,但是根据以前的经验,我很确定这仅适用于API版本5和更早版本的设备,对吗?有人知道该怎么做吗?

最佳答案

is not called because it is only in Activity


您实际上使用的是Activity的支持版本,它是可以通过编程方式调用FragmentActivityonBackpressed

样品:

您可以为onBackPress功能创建方法,并在需要时调用它。但是我也确实认为应该在按下后退按钮时调用它,因为它是活动的支持版本,意味着它从Activity扩展到其背后。

BaseGameActivity.this.onBackPressed();

关于android - 在BaseGameActivity或SurfaceView中按下向后处理按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25319010/

10-10 06:26