使用 Kotlin 关闭/隐藏 Android 软键盘

2024-03-15

我正在尝试用 Kotlin 编写一个简单的 Android 应用程序。我的布局中有一个 EditText 和一个按钮。在编辑字段中写入并单击按钮后,我想隐藏虚拟键盘。

有一个热门问题 关闭/隐藏 Android 软键盘 https://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard关于用 Java 来做这件事,但据我了解,Kotlin 应该有一个替代版本。我该怎么做呢?


在“活动”、“片段”中使用以下实用函数来隐藏软键盘。

(*)更新最新的 Kotlin 版本

fun Fragment.hideKeyboard() {
    view?.let { activity?.hideKeyboard(it) }
}

fun Activity.hideKeyboard() {
    hideKeyboard(currentFocus ?: View(this))
}

fun Context.hideKeyboard(view: View) {
    val inputMethodManager = getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
    inputMethodManager.hideSoftInputFromWindow(view.windowToken, 0)
}

无论您的代码是在对话框片段和/或活动等中,这都会关闭键盘。

在活动/片段中的用法:

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

使用 Kotlin 关闭/隐藏 Android 软键盘 的相关文章

随机推荐

  • 如何使用 junit 测试 if 语句?

    我似乎无法在网上找到任何解决此问题的教程 我有这个if陈述 if basket getCustomerId null Basket exBasket findBasketByCustomerId basket getCustomerId i
  • 如何使用点击手势显示/隐藏 pageViewController 上的状态栏(iOS8 / Swift)

    浏览所有类似问题的解决方案 我一直试图得到statusBar通过点击手势显示 隐藏 我已经设定View controller based status bar appearance NO在 plist 中 我在我的中尝试了以下代码DataV
  • HTML / CSS:遇到有关网站宽度/高度的问题

    我正在建立一个网站 为人们访问的区域做广告 作为我自己的一项任务 我花了一些时间尝试将迄今为止所做的所有工作都放在一页上 我希望没有滚动条 我不想让滚动条不可见等等 我的意思是让网页适合浏览器的一页 而用户无需出于美观目的而滚动 我尝试过调
  • 如何在Windows服务中检测从睡眠模式唤醒?

    再会 我编写了一个 Windows 服务 它检测 USB 闪存驱动器连接并对连接的驱动器执行某些操作 现在经过测试 我需要在从睡眠模式唤醒后重新处理设备 当服务作为 Windows 程序工作时 我解决了这个问题 为了解决我另外处理DBT D
  • 从 Haskell 代码生成 LLVM IR

    我的目标是获取不同语言 主要是 C C Obj C 和 Haskell 的源代码 并提供有关它们的各种统计信息 例如变量 函数 内存分配 复杂性等的数量 LLVM 似乎是一个完美的工具 因为我可以为这些语言生成位码 并且通过 LLVM 的可
  • .NET 中的别名

    是否可以为现有类型创建别名并在整个项目中使用该别名 例如 创建 CustomerID System UInt32 并使用 CustomerID 作为数据类型 版本 NET Framework 4 0 使用 using 关键字 我们可以创建别
  • Jibx - 如何使用值和属性解组/编组标签?

  • Windows 应用商店应用程序和 F#

    我正在尝试使用 F 创建一个可移植库以与 Windows 应用商店应用程序一起使用 我用一个类创建了一个 fs 文件 module FunctionalRT open System Net open System IO type WebHe
  • Xcode 10 - 界面生成器文档

    我无法将现有故事板的 Interface Builder Document 版本更改为 Xcode 10 0 选择 Xcode 10 0 出现提示时保存并关闭并重新打开我的故事板后 它总是恢复到 Xcode 9 0 即使创建新的故事板 它也
  • 在 MongoDb 中,如何对文档中存在的内部字段进行排序?

    我的文档看起来像这样 field1 somevalue name xtz nested documents array of nested document x 1 y 2 first nested document x 2 y 3 sec
  • 在R中使用正则表达式捕获字符串的一部分

    我有这些字符串 myseq lt c ALM GSK LN 06 ID AS04 LV 06 ID png AS04 SP 06 IP png 我想做的是捕获序列的一部分 ALM GSK LN ID AS04 LV ID AS04 SP I
  • ASP.NET + 访问路径被拒绝

    我有一个 ASP NET 应用程序 它尝试在运行时在 Web 服务器上写入文件 在我的开发环境中 这是有效的 但是 当我将其部署到生产服务器并执行代码时 我收到一条错误消息 Access to the path C Inetpub wwwr
  • 活动更改之前的动画

    我试图做一些简单的事情 但我不明白为什么它不起作用 我想做的是 当我触摸 ImageView 时 它会在上面显示动画 然后 只有当该动画结束时 它才会开始新的活动 相反 发生的情况是新活动立即开始并且不显示动画 这是动画 xml
  • java swing中N个jtable的同步滚动

    我需要将 N 个表并排排列在网格窗格中 前提是所有 jtable 的滚动窗格高度保持相同 现在我想同步所有 jtable 的滚动 这意味着如果我滚动第一个 jtable 那么其余的 jtable 应该自动滚动相同的量 有人对此有任何想法吗
  • Net::HTTP 对 HTTPS 请求的响应极其缓慢

    由于某种原因 在我的开发机器上 通过 Net HTTP 执行的 HTTPS 请求的响应非常非常慢 我尝试过 RestClient 和 HTTParty 它们都有同样的问题 它似乎不知从何而来 我已经提出了数百次这些请求 没有任何问题 但今天
  • Sql连接查询

    我有三张桌子 tblLink LinkId LinkName GroupId SubGroupId GroupId 和 SubGroupId 是 tblGroup 和 tblSubGroup 中的外键tblGroup 组ID 组名称 tbl
  • 在 Python 中查看 Popen 管道流

    背景 Linux 上的 Python 2 6 6 DNA 序列分析流程的第一部分 我想从已安装的远程存储 LAN 读取可能经过 gzip 压缩的文件 以及它是否经过 gzip 压缩 gunzip 将其压缩到流中 即使用gunzip FILE
  • Mysql UPDATE ON DUPLICATE KEY 仅插入

    我正在尝试运行一个查询 以便它将插入或更新重复项 我正在为重复项使用唯一索引 但我似乎无法让它工作 它还增加了新记录 希望一些新的目光能够指出我的问题 谢谢 这是我的架构 CREATE TABLE IF NOT EXISTS pricing
  • gmtime_r 和 gmtime_s 之间的区别

    这两个函数有什么区别呢 我正在使用 MinGW 4 8 0 我知道gmtime r是线程安全的 但如果从同一线程多次调用则不安全 但我不明白gmtime s 不同之处在于gmtime r 3 http linux die net man 3
  • 使用 Kotlin 关闭/隐藏 Android 软键盘

    我正在尝试用 Kotlin 编写一个简单的 Android 应用程序 我的布局中有一个 EditText 和一个按钮 在编辑字段中写入并单击按钮后 我想隐藏虚拟键盘 有一个热门问题 关闭 隐藏 Android 软键盘 https stack