最近因为项目需要,要监听软键盘中的删除键,在网上搜了大部分的说法,用onKeyListener,但是不知道为什么,设置后并没有效果,最后自己通过dispatchKeyEvent实现了,代码如下

@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {if (event.getKeyCode() ==KeyEvent.KEYCODE_DEL){//TODO anything}return super.dispatchKeyEvent(event);}

当然,仅重写上面的代码,程序将会运行两次dispatchKeyEvent方法,原因在于当键盘按下时,首先触发dispatchKeyEvent,然后触发 onUserInteraction,再触发onKeyDown方法,如果按下后立马松开,则仅有两步:先触发 dispatchKeyEvent,然后触发onUserInteraction,再onKeyUp。所以需要再if语句中再加上event.getAction() != KeyEvent.ACTION_UP,代码如下:

@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {if (event.getKeyCode() == KeyEvent.KEYCODE_DEL && event.getAction() != KeyEvent.ACTION_UP){//TODO }}return super.dispatchKeyEvent(event);}

监听软键盘中的删除键相关推荐

  1. Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片

    EditText设置监听软键盘删除键(或enter) 一般使用方法 edittext.setOnKeyListener(new View.OnKeyListener(){@Overridepublic ...

  2. Android App监听软键盘按键的三种方式 以及 输入法删除退格键的冲突问题解决

    输入法删除退格键的冲突问题解决 /***返回键处理 */@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if( even ...

  3. Android App监听软键盘按键的三种方式(转)

    最近有类似需求,在csdn上刚好发现,粘贴过来,以防止忘记喽 前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的&quo ...

  4. Android App监听软键盘按键的三种方式

    前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的"GO"按键加载url页面:在点击搜索框的时候,点 ...

  5. android 代码设置 键盘适应_Android自适应软键盘的Dialog以及监听软键盘弹起

    最近项目中遇到一个需求:新手引导.跟一般的新手引导没有什么太大区别,思路都是搞一个带阴影的遮罩层,然后在上边儿给一些提示性的文字,由于需求中有些特殊的地方,所以我用了一个全屏的dialog(而且,di ...

  6. 键盘-App监听软键盘按键的三种方式

    前言: 我们在android手机上面有时候会遇到监听手机软键盘按键的时候,例如:我们在浏览器输入url完毕后可以点击软键盘右下角的"GO"按键加载url页面:在点击搜索框的时候,点 ...

  7. h5 移动端 监听软键盘弹起、收起

    前面一篇博客 h5 安卓 键盘弹起界面适配 修改webview高度提到了在adnroid中如何监听软键盘的弹起与收起,是利用的窗口的高度发生变化 window.onresize事件来做突破点的,但是i ...

  8. android 键盘隐藏监听,安卓监听软键盘弹出与隐藏的两种方法

    需求: 现在有一个需求是点击一行文本框,弹出一个之前隐藏的输入框,输入完成后按返回键或者其他的东西隐藏键盘和输入框,将输入框的内容填充到文本框中. 实现: 拿到这个需求的第一反应就是写一个监听来监听键 ...

  9. 【Android应用】【监听软键盘弹起与关闭】

    [背景] 在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹 ...

  10. Android 监听软键盘的高度并解决其覆盖输入框的问题

    1.前言 在某些项目中,我们常常需要自定义一个输入框,软键盘弹出时就把输入框顶上去,关闭时输入框再回到原位(比如下方的效果图,实际上各种 App 中的聊天界面和发布评论的界面大体都是这样).在这个过程 ...

最新文章

  1. Solr配置文件分析与验证
  2. 我的读论文经验总结!
  3. 男孩子学机电一体化好还是计算机好,男孩子上完初中学什么专业好 什么专业有前途...
  4. RxJava Timer:代替handler
  5. 开发日记-20190603 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  6. CodeForces 901C Bipartite Segments
  7. 优化Linux下的内核TCP参数来提高服务器负载能力
  8. php中mysql和mysqli_php mysqli中-和::有什么区别?
  9. .NET6之MiniAPI(九):基于角色的身份验证和授权
  10. android的progressDialog 的使用。android数据异步加载 对话框提示
  11. Java的static,final,代码块,内部类,抽象类,接口等
  12. python连续写入数据之间用什么隔开_elasticsearch之使用Python批量写入数据
  13. 一米优店宝-淘宝店铺优化软件v1.0官方
  14. win7设置计算机共享的打印机共享的打印机共享,win7,xp打印机共享设置软件 一键共享...
  15. ARCore之路-平面检测
  16. 真正决定人生高度的,是你做事的速度
  17. ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies
  18. 有一个程序员男朋友是什么样的体验?
  19. 亚马逊美国买家账号怎么注册
  20. 软件测试工程师应该学Python还是学Java?

热门文章

  1. ios打包发布testflight
  2. “客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机...” 报错解决办法
  3. Couldn't find leader offsets for Set news_topic
  4. python打开txt文件
  5. Pr:图形与基本图形面板
  6. 知其然就够了——大数据时代的思考之一
  7. 手游pvp系统网络设计
  8. canvas绘制频谱图
  9. 项目经理应对需求变更的策略
  10. python安装包时报错Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools