Android EditText缴获与监听输入事件

Android EditText截获与监听输入事件

预期目标:如下图,输入框中每输入一个字符,下面的TextView可以迅速的显示出来输入框中的内容。

1.第一种方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件。

edittext.setOnKeyListener(new View.OnKeyListener() { @Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) { textview.setText(edittext.getText()); return false; }
}); 

2.第二种方法:使用TextWatcher类,这种方式是可以监听软键盘和硬键盘的,我们只需要实现onTextChanged方法即可,另外TextWatcher还提供了beforeTextChanged和afterTextChanged方法,用于更加详细的输入监听处理。

edittext.addTextChangedListener(new TextWatcher() {             @Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) { textview.setText(edittext.getText()); } @Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Overridepublic void afterTextChanged(Editable s) { }
});

3、代码片段:实现当输入到最大值时则不允许再输入了,另外,由于EditText并没有提供给我们EditText的禁止输入功能,以下方法也实现了此功能。

private void setEditable(EditText mEdit, int maxLength, boolean value) { if (value) { mEdit.setFilters(new InputFilter[] { new MyEditFilter(maxLength) }); mEdit.setCursorVisible(true); mEdit.setFocusableInTouchMode(true); mEdit.requestFocus();    } else { mEdit.setFilters(new InputFilter[] { new InputFilter() { @Overridepublic CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { return source.length() < 1 ? dest.subSequence(dstart, dend) : ""; } } }); mEdit.setCursorVisible(false); mEdit.setFocusableInTouchMode(false); mEdit.clearFocus(); }
}

Android EditText缴获与监听输入事件相关推荐

  1. EditText的TextWatcher监听事件延迟处理

    在工作中会碰到使用EditText作为搜索框的时监听TextWatsher事件能让我们实时拿到EditText中的内容,但是TextWatsher给我们的三个接口 @Overridepublic vo ...

  2. Android事件的响应,Android 开发事件响应之基于监听的事件响应

    Android 开发事件响应之基于监听的事件响应 本文将介绍Android 操作系统如何通过监听来实现对事件的响应. Android 开发事件响应之基于监听的事件响应 背景介绍 Android 开发事 ...

  3. android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)

    ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...

  4. android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件

    Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...

  5. Android屏幕触摸监听,Android在Fragment中实现监听触摸事件

    本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事 ...

  6. Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)

    8.1.常用命令 启动ZK服务 bin/zkServer.sh start 查看ZK服务状态 bin/zkServer.sh status 停止ZK服务 bin/zkServer.sh stop 重启 ...

  7. 监听列表事件的监控核心技术(编写代码)

    这一段代码是根据上一篇"监听列表事件的监控"所编写的,在onmousemove事件中,可以通过事件对象获取到鼠标当前的坐标点,我们该如何将坐标点转化成为元素的left和top属性值 ...

  8. vue_组件_监听组件事件

    1.$emit 的使用 在组件中注册自定义事件 $emit(事件名, 参数)    //该参数会当作第一个参数传入绑定的函数中 下面用一个菜单栏例子来说明,如下图所示 组件 Vue.component ...

  9. Android通过使用系统广播监听网络状态的改变

    Android通过使用广播监听网络状态的改变 得先添加权限 //查看网络状态<uses-permission android:name="android.permission.ACCE ...

最新文章

  1. UA SIE545 优化理论基础1 凸分析1 线性流形与超平面
  2. 深入浅出python机器学习_3.3.1_对数据集进行分析
  3. 机器学习基础6--集群模型和算法
  4. 大剑无锋之UNION 和 UNION ALL (SQL)【面试推荐】
  5. 5.14 js对象 函数 js操作document对象
  6. 使用HP Vertica进行.NET编程
  7. pycharm 运行后,如何查看变量值以及继续输入语句并运行?(非Debug , debug太慢)
  8. 火狐浏览器不支持html5,这样写 火狐浏览器不支持?
  9. 有什么好用的windows PDF阅读器?答案在这里面
  10. #UML# Astah+Doxygen 将C++源码映射为类图
  11. 1990年图灵奖--费尔南多·考巴脱简介
  12. 【数据结构】树与二叉树的基本概念及性质
  13. 如何做一个讨厌的女人
  14. c语言字符三维数组定义时赋值,c语言中三维数组的赋值顺序?
  15. http://localhost:8080打不开
  16. maven使用的总结
  17. C Primer Plus(6) 中文版 第3章 数据和C 3.4 C语言基本数据类型
  18. 信创实际落地如何?详解《2021中国信创产业应用落地研究报告及供应商60强》
  19. 云原生之使用Docker部署webssh工具sshwifty
  20. 员工上班时间内高效率逛淘宝,企业如何解决?

热门文章

  1. CMS 盘状介孔二氧化硅SBA-15/有序介孔氧化硅SBA-15粉体/SBA-15型介孔二氧化硅微球/氨基与羧基功能化修饰介孔SiO2(SBA-15)
  2. Blender UV贴图
  3. Fomo3D游戏第一轮结束,资金盘游戏终究要凉
  4. 工业镜头外部主要参数(视场、分辨率、工作距离、景深)介绍
  5. BZOJ3850 ZCC Loves Codefires
  6. CrossWalk WebView添加支持WebRTC及H264编解码
  7. 最长公共连续子串LCS
  8. JAVA支付宝扫码支付开发流程
  9. 去掉input聚焦时的边框
  10. win7 win10 通过ipv6上网的方法