Android 11及以上 showSoftInput 没有效果解决方式

这篇具有很好参考价值的文章主要介绍了Android 11及以上 showSoftInput 没有效果解决方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔者在使用带输入框的AlertDialog时需要将输入框立即显示出来,发现在安卓11 (API 30)及以上版本使用传统的显示输入法代码失效,查找后发现新的方式。

问题记录

安卓11 (API 30)及以上版本无法调用以下代码无法显示输入框并在控制台找到以下提示信息。


 binding.editText.requestFocus()
 val imm = requireContext().getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
 imm.showSoftInput(binding.editText, InputMethodManager.SHOW_IMPLICIT)

信息提示

 Ignoring showSoftInput() as view=" + view + " is not served

解决方式

使用新的方式代替老方式进行显示输入框。

输入框显示调用
binding.editText.windowInsetsController.show(WindowInsetsCompat.Type.ime())

或者兼容模式

 WindowInsetsControllerCompat(requireDialog().window!!, binding.editText).show(
            WindowInsetsCompat.Type.ime()
        )
输入框隐藏调用
binding.editText.windowInsetsController.hide(WindowInsetsCompat.Type.ime())

或兼容模式文章来源地址https://www.toymoban.com/news/detail-635851.html

WindowInsetsControllerCompat(requireDialog().window!!, binding.editText).hide(
            WindowInsetsCompat.Type.ime()
        )

到了这里,关于Android 11及以上 showSoftInput 没有效果解决方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win11点击任务栏快捷方式出现“该文件没有与之关联的应用来执行该操作”解决方法

        win11点击任务栏快捷方式出现“该文件没有与之关联的应用来执行该操作”大概率原因就是 我们在去掉桌面快捷图标的小箭头时,把 IsShortcut 文件删除了。因为这种方法适合win10,不适合win11。所以我们要恢复这个IsShortcut注册表文件。 恢复方法: 在桌面新建文本文档 把

    2023年04月15日
    浏览(85)
  • android 11及以上如何通过包名跳转APP

    下面是通过包名跳转到其他APP的代码,以微信APP包名为例: 通过日志可知道,intent为null,当包名错误或者该APP未配置启动Activity时,就会为null,为啥呢? 经过一晚上的上网查询,找到答案了,如下: Android 11以下,上述代码就可以跳转,但是11及以上,查询包名相关的方法都

    2024年01月25日
    浏览(34)
  • Android 11以上获取不到第三方app是否安装

    开年第一篇,处理了一下年前的小问题。 问题:本地app跳转到第三方app地图进行导航,获取不到第三方地图是否安装。 解决: 1.添加包名  This can be done by adding a  queries  element in the Android manifest.在app下的manifest文件内manifest标签下添加 queries标签设置包名 2.MapUtil工具类 3.调用

    2024年02月19日
    浏览(33)
  • android studio开发——android11版本以上权限动态申请问题,包括文件读写、图片、相机的调用

    用于android手机的升级,现在已经是android13版本了,对于权限问题可能更加敏感了,前段时间开发发现之前的方法已经不再适用于android11以后的版本了 读写权限申请最好是跳转到设置中进行才是最好了,下面我们开始进行 首先是AndroidManifest.xml文件的权限 然后这里讲解一下权

    2024年02月10日
    浏览(47)
  • Android 11及以上出现 Intent.resolveActivity(context.getPackageManager()) == null的处理

    1、使用场景: App调用系统相机拍照设置图片。 2、问题描述:  targetSdkVersion = android 11的之后,以下代码captureIntent.resolveActivity(context.getPackageManager()) 直接返回了null。 3、系统环境: Android 11 , targetSdkVersion == 33 4、解决方案: (1)调用系统应用时: 方案1:在清单文件中添加

    2024年02月13日
    浏览(29)
  • android 9.0以上版本,获取U盘路径的两种方式

    第一种,通过DocumentProvider: 第二种,通过StorageManager,无法使用的记得用反射;

    2024年02月13日
    浏览(30)
  • Android 9.0以上 连接wifi失败 解决方案

    Android9开始,WIFI那块的API发生了改变: addNetwork(WifiConfiguration config) 此方法在API级别Q中已弃用) 见addNetworkSuggestions(java.util.List), removeNetworkSuggestions(java.util.List)新的API添加Wi-Fi网络进行审议时,自动连接到无线网络。 兼容性注意:对于目标Build.VERSION_CODES.Q或更高的应用程序

    2024年02月12日
    浏览(33)
  • Unity Shader学习记录(11) ——透明效果的实现方式

    1 透明效果的两种方法 透明是游戏中经常要使用的一种效果。在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha Channel)。当开启透明混合后,当一个物体被渲染到屏幕上时,每个片元除了颜色值和深度值之外,它还有另一个属性一一透明度。 当透明度

    2024年02月07日
    浏览(35)
  • Android 10以上出现的 android Permission denied 读写权限问题解决方法

    原因: 从Android 10 开始,应用即使申请了权限,也只能读写自己外部存储的私有目录,就是Android/data/对应应用包名 下的相关目目录。除此之外任何目录的读写都会被拒绝,并提示 android Permission denied。 解决方案 在 AndroidManifest.xml 文件中,在application标签中添加如下属性 and

    2024年02月03日
    浏览(36)
  • win11打开方式没有始终,例如pptx应该用power point打开

    win11打开方式没有始终,例如pptx应该用power point打开 解决方案 win 或 搜索 | 设置 | 应用 | 默认应用 | 输入文件类型或链接类型 | 一般会带出推荐的应用,如果没有就找下,然后单击 | 出现一个页面,上面有默认应用,如果正确的话点 设置默认值即可。

    2024年02月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包