【发布时间】:2012-10-15 11:37:44
【问题描述】:
我有 2 个活动,其中我覆盖了 onKeyUp 事件:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
Log.d(TAG, "Key up: " + keyCode);
return super.onKeyUp(keyCode, event);
}
第一个是应用程序的主要活动,另一个是次要的。第一个工作正常,但第二个捕获 Left-Right-Up-Down 的事件,而不是 Center click 的事件。为什么?
【问题讨论】:
-
难道没有一些视图有焦点并抓住了事件吗?看看 onKeyUp 的文档是怎么说的:当一个键被释放并且没有被活动内部的任何视图处理时调用。因此,例如,光标在 TextView 内时的按键不会触发事件(除非它是到另一个对象的导航),因为 TextView 会处理自己的按键。
-
我没有手动设置焦点,如何查看?
-
您不必手动设置它 - 例如,当有一个 EditText 时,它将自动获得焦点。
-
有 ImageView、Gallery 和另外一个 View。