检测用户何时关闭软键盘

2023-11-22

我的视图中有一个 EditText 小部件。当用户选择 EditText 小部件时,我会显示一些说明并出现软键盘。

我使用 OnEditorActionListener 来检测用户何时完成文本输入,然后关闭键盘、隐藏指令并执行某些操作。

我的问题是当用户通过按 BACK 键关闭键盘时。操作系统关闭键盘,但我的指令(我需要隐藏)仍然可见。

我尝试过重写 OnKeyDown,但是当使用 BACK 按钮关闭键盘时似乎不会调用它。

我尝试在 EditText 小部件上设置 OnKeyListener,但似乎也没有被调用。

如何检测软键盘何时被关闭?


我知道一种方法可以做到这一点。将 EditText 子类化并实现:

@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
  if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
    // Do your thing.
    return true;  // So it is not propagated.
  }
  return super.dispatchKeyEvent(event);
}

以下是有关如何使用自定义视图的链接(当您子类化 EditText 时):http://developer.android.com/guide/topics/ui/custom-components.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测用户何时关闭软键盘 的相关文章

随机推荐

  • 编写使用多种内容类型的 swagger 文档,例如application/json AND application/x-www-form-urlencoded (不重复)

    我正在寻找一种优雅的方式来定义可以使用 JSON 数据以及表单数据的 api 下面的代码片段可以工作 但它并不优雅 并且需要在后端添加各种丑陋的代码 有更好的方法来定义这个吗 现在有效的方法 paths pets post consumes
  • pandas 多列唯一值

    df pd DataFrame Col1 Bob Joe Bill Mary Joe Col2 Joe Steve Bob Bob Steve Col3 np random random 5 返回 Col1 和 Col2 的唯一值的最佳方法
  • 如何解决 Visual Studio (LNK2005) 中的此链接错误?

    我一直遇到以下形式的链接器错误 libcmtd dll msvmrtd dll一些元素 例如 mkdir 已经 定义 我不知道如何解决它们 这是完整的错误消息 私有 thiscall type info type info class ty
  • 如何在Flutter中的TextFormField标签中添加红色星号

    由于我们无法制作像 RichText Text Span 这样的小部件来设置 TextFormField 的样式 任何人都可以帮我解决这个问题吗 现在得到 预期结果 我们怎样才能达到这样的结果呢 最简单的方法 但不完全等于 TextFiel
  • 没有 Storyboard 和 ARC 的 Xcode

    我已经下载了新的 xcode 5 并刚刚开始使用它 我们可以直接创建包括故事板和ARC的应用程序 它不像早期版本那样要求选项 所以 我的问题是我们如何在没有 ARC 和 Storyboard 的情况下使用 xcode5 我们必须手动删除故事
  • Django PIL:IOError 无法识别图像文件

    我正在学习 Python 和 Django 用户使用 forms ImageField 提供图像 然后我必须对其进行处理才能创建两个不同大小的图像 当我提交表单时 Django 返回以下错误 IOError at add event can
  • 在c#中模拟无限滚动以获取页面的完整html

    有很多网站都使用这种 我认为 令人讨厌的 无限滚动 风格 例如 tumblr twitter 9gag 等网站 我最近尝试使用 HtmlAgilityPack 以编程方式从这些网站上抓取一些图片 像这样 HtmlWeb web new Ht
  • gcc 4.8.1 中的 C++11:复制构造函数的列表初始化不起作用

    我鼓励这个问题 如果我有 class A public int main A a A b a 海湾合作委员会给出 move cc 在函数 int main 中 move cc 15 7 错误 A 的初始值设定项太多 A b a 但是当我使用
  • 如何使用express js创建一个简单的html服务器

    我是 node js 新手 我想创建一个简单的express js 静态文件服务器 但我有一些问题 我已经在全球安装了express js 4 2 如下所示 npm install g express generator 我在 httpsr
  • 如果被少于五个连续零包围,则将向量中的零更改为一

    我有一个向量0s and 1s 并想要识别字符串所在的索引0s 被包围1s 如果数量0之间的1s 小于或等于 5 我想将这些零更改为1s 这是一个例子 gt x lt c 0 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0
  • 如何调度一个超时的 Redux 操作?

    我有一个操作可以更新我的应用程序的通知状态 通常 此通知将是某种错误或信息 然后 我需要在 5 秒后调度另一个操作 将通知状态返回到初始状态 因此没有通知 其背后的主要原因是提供通知在 5 秒后自动消失的功能 我没有运气使用setTimeo
  • 在bash shell脚本中如何将字符串转换为数字[重复]

    这个问题在这里已经有答案了 嘿我想将字符串转换为数字 x 0 80 I would like to convert x to 0 80 to compare like such if x gt 0 70 then echo x gt gt
  • 如何使用 Jackson 反序列化 JS 日期?

    我从 ExtJS 获取格式为以下的日期字符串 2011 04 08T09 00 00 当我尝试反序列化此日期时 它将时区更改为印度标准时间 为时间添加 5 30 这就是我反序列化日期的方式 SimpleDateFormat dateForm
  • npm install fsevents 错误

    你好 我正在尝试安装 fsevents whitchnpm 因此我使用以下版本 节点 4 2 6 国家公共管理 3 5 2 操作系统 Ubuntu 16 04 LTS 我正在执行该语句 Edited npm install fsevents
  • 使用仪器解决内存不足警告

    我正在尝试使用仪器来解决一些内存不足的情况 我可以看到物理内存可用监视器中的内存消耗下降到几 MB 尽管分配显示所有分配约为 3 MB 总体字节为 34 MB 自从我使用 NSOperationQueue 将一些操作移动到单独的线程后 我就
  • NHibernate无状态会话插入速度慢

    这几天我一直致力于提高 NHibernate 插入性能 我读过很多帖子 例如this one that 无状态会话每秒可以插入 1000 2000 条记录 但是 它可以插入 1243 条记录的最佳时间对我来说超过 9 秒 var sessi
  • smtp;550 访问被拒绝 - HELO 名称无效(请参阅 RFC2821 4.1.1.1)

    我正在运行 Windows Server 2008 R2 但我收到一些域拒绝的 smtp 邮件 为了测试它 我将一个文本文件放入 C inetpub mailroot Pickup 目录中 内容如下 From email protected
  • 带有双引号参数的 exec

    我想执行findWindows 命令使用exec包 但 Windows 正在做一些奇怪的转义 我有类似的东西 out err exec Command find SomeText Output 但这会引发错误 因为 Windows 正在将其
  • 将分数转换为 html 实体[重​​复]

    这个问题在这里已经有答案了 我们在数据库中存储了一些分数信息 例如3 4 5 除了进行搜索和替换之外 是否有任何内置 PHP 函数可以自动将它们转换为正确的 html 实体 您可以使用htmlentities 函数 这会将所有特殊字符替换为
  • 检测用户何时关闭软键盘

    我的视图中有一个 EditText 小部件 当用户选择 EditText 小部件时 我会显示一些说明并出现软键盘 我使用 OnEditorActionListener 来检测用户何时完成文本输入 然后关闭键盘 隐藏指令并执行某些操作 我的问