我想抓住按下软键盘的任何键。我不想在我的 Activity 中使用 EditView 或 TextView,该事件必须从我的 Activity 内的扩展视图中处理。
我刚试过这个:
1)覆盖onKeyUp(int keyCode, KeyEvent event)
活动方法。这不适用于软键盘,它只会捕获几个硬键盘。
2)创建我的OnKeyListener
并在我的视图中注册它,其中包含一个已注册和正在工作的OnTouchListener
. 这对软键盘根本不起作用。
3) 覆盖onKeyUp(int keyCode, KeyEvent event)
View 方法。如果我设置我的 OnKeyListener 或不设置它,这根本不起作用。
4) 使用InputMethodManager
对象调用方法showSoftInput
并将其传递给我的视图。这对抬起键盘也不起作用,确实我必须打电话toggleSoftInput
;也没有赶上关键事件。
我只在模拟器中测试了所有内容,但我认为这已经足够了。为什么从键盘获取一个简单的按键事件如此复杂?