当前位置: 首页 > 面试题库 >

Android-按下键盘按键

汪栋
2023-03-14
问题内容

我想按一下软键盘上的任何键。我不想在Activity中使用EditView或TextView,必须从Activity内部的扩展View处理该事件。

我只是试过这个:

1)覆盖onKeyUp(int keyCode, KeyEvent event)活动方法。该功能不适用于软键盘,只能捕获很少的硬键盘。

2)创建我的OnKeyListener并在我的视图中注册该视图,其中包含已注册并正在运行的OnTouchListener。这对于软键盘根本不起作用。

3)覆盖onKeyUp(int keyCode, KeyEvent event)View方法。如果我设置我的OnKeyListener或不设置它,则根本不起作用。

4)与InputMethodManager对象一起调用该方法showSoftInput并将其传递给我的View。这对于抬起键盘也不起作用,实际上我必须打电话给我toggleSoftInput。也不捕捉关键事件。

我只在模拟器中进行了所有测试,但我认为足够了。为什么通过键盘进行简单的按键事件如此复杂?


问题答案:

为了处理硬件键和返回键,您可以dispatchKeyEvent(KeyEvent event)Activity

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    Log.i("key pressed", String.valueOf(event.getKeyCode()));
    return super.dispatchKeyEvent(event);
}

UPD
:不幸的是,除非您开发了自己的自定义键盘(请单击链接以了解如何创建输入法),否则您将无法处理软键盘事件(请参阅处理单键事件)。



 类似资料:
  • 问题内容: 我有一个“保存”按钮,我想与软键盘一起向上推。因此,当用户单击我的布局中的EditText时,按钮必须保持在键盘上方。现在,该按钮将隐藏在键盘下方。你怎么做到这一点? 提前致谢! 问题答案: 您需要将键盘的输入模式设置为。您可以这样做,将以下行添加到清单中您的活动属性中: 这是在活动中添加的属性的示例:

  • 是否有一种方法如何阻止键盘输入在Java。我希望捕捉java代码中的输入,但阻止它被发送到OS。 例如:我打开了记事本,我可以写得很好,但当我按下一个组合键时,java应用程序捕捉到了输入,现在我应该不能用键盘写了。这种行为可能吗? 我知道如何捕捉按键,但键盘阻挡部分对我来说是个谜。 我试着搜索它,但我没有找到任何解决方案。

  • 本文向大家介绍javascript实现捕捉键盘上按下的键,包括了javascript实现捕捉键盘上按下的键的使用技巧和注意事项,需要的朋友参考一下 小小的demo,用js捕捉键盘盘上按下了那个键,然后展示出对应的code值 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 我已经搜索了半打其他答案,但没有找到一个有效的答案。我只是想在用户按下回车键时关闭软键盘。(相当于极其简单的iOS“辞职键盘”通话。)在下面的代码中,不会调用onEditorAction方法。我在XML文件中设置了EditText视图,片段中的代码如下: 下面是XML文件中的一个片段,我在其中定义了EditText字段。我需要EditText多行。

  • 我正在开发一个Android应用程序,我设计了一个弹出窗口,通过替换活动中的软键盘来显示一些视图。popupWindow包含一个searchView。当我点击一个按钮时,它显示弹出窗口,软键盘被隐藏。现在,当popupWindow中的searchView获得焦点时,我调用该方法: PopupWindow.set聚焦(真) 显示键盘,以便用户可以在searchView中开始键入。当searchVie

  • 这是我的代码: 我所要做的就是使esc按钮与backspace按钮完全相同。所以我想删除