onKeyDown并不总是在Android应用程序中调用

onKeyDown并不总是在Android应用程序中调用,第1张

概述我已经创建了一个简单的Android游戏,基于LunarLander示例,我遇到了处理关键事件的问题.当活动开始时,onKeyDown或onKeyUp被调用的唯一键是dpad上/下/左/右键.菜单,后退或dpad_center键都不会触发onKey方法.但是,一旦我按下其中一个dpad上/下/左/右按钮,按下菜单,后退或dpad_center

我已经创建了一个简单的Android游戏,基于Lunar Lander示例,我遇到了处理关键事件的问题.当活动开始时,onKeyDown或onKeyUp被调用的唯一键是dpad上/下/左/右键.菜单,后退或dpad_center键都不会触发onKey方法.但是,一旦我按下其中一个dpad上/下/左/右按钮,按下菜单,后退或dpad_center键就会触发这些方法.我没有收到任何错误或任何错误的迹象.

焦点可能设置错误 – 活动从屏幕上的按钮开始,因此可能处于触摸屏模式.如果是这种情况,不应该触摸后退按钮让我进入正确的对焦模式,以便我可以抓住事件?

我正在使用SDK-1.5r3中的模拟器.我还没能在真正的手机上试试这个.这是我的onKeyDown.

public boolean onKeyDown(int keyCode, KeyEvent msg){    Log.d(TAG, "onKeyDown: " + keyCode);    return super.onKeyDown(keyCode, msg);}

谢谢

马特

解决方法:

这个onKeyDown是在视图中还是在活动中?

如果调用setContentVIEw传入视图,并且该视图调用了setFocusable(true),则所有键事件都将绕过活动并直接进入视图.

另一方面,如果你的onKeyDown在视图中,并且你没有在Activity上调用setContentVIEw并且在视图上没有调用setFocusable(true),那么你的Activity将获得关键事件而不是VIEw.

寻找那些特定的电话,但我认为你是一个焦点问题是正确的.

总结

以上是内存溢出为你收集整理的onKeyDown并不总是在Android应用程序中调用全部内容,希望文章能够帮你解决onKeyDown并不总是在Android应用程序中调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存