我正在使用Android 2.1编写应用程序 在某些时候,我调用setOnKeyListener 特别是,我写...
editfield=(EditText)findViewById(R.id.edittext);
editfield.setOnKeyListener(this);
这是在onCreate回调中的主线程中。 在代码的这一点上,我希望处理停止并等待 键盘输入。如果我让代码运行,逻辑就会很快破坏。
我想我可以将机器置于等待循环中,直到按键调用onClick方法。我还可以在需要用户输入的位置创建一个等待循环。但我对这两种解决方案都感到不舒服。 (一个相关的问题是这样的 - ?在代码中的某一点,屏幕必须照亮了我前进必须经过该点之前检查该
也许我不擅长与文档,但我一直没能找到任何具体的,回答这些问题。
有人能向我解释如何完成我需要的时间,更generaly,在哪里可以找到这些问题的信息?
提前致谢。
- 在DC看
答案 0 :(得分:2)
Android密钥系统是基于事件的,它不像C / C ++等旧的请求和等待机制那样用于获取用户输入。
如果你阻止/等待 - 那么如果用户按下Home键(你无法捕捉到它)或导航到另一个应用程序会发生什么 - 你的应用程序会强行关闭因为它仍然在等待你的{{1等等不会执行。
我的建议是:
onPause
的末尾,这样设置侦听器后就不再执行代码了但是,如果这是一个游戏,那么可以使用专用于触摸/按键事件的线程,这些事件可以休眠50秒左右以避免事件过载(但这不一定是主UI线程!)< / p>