Android EditText缴获与监听输入事件
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缴获与监听输入事件相关推荐
- EditText的TextWatcher监听事件延迟处理
在工作中会碰到使用EditText作为搜索框的时监听TextWatsher事件能让我们实时拿到EditText中的内容,但是TextWatsher给我们的三个接口 @Overridepublic vo ...
- Android事件的响应,Android 开发事件响应之基于监听的事件响应
Android 开发事件响应之基于监听的事件响应 本文将介绍Android 操作系统如何通过监听来实现对事件的响应. Android 开发事件响应之基于监听的事件响应 背景介绍 Android 开发事 ...
- android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)
ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...
- android列表项点击事件,Android 开发 tips(2):监听 Listview 列表项点击事件
Android 开发 tips(2):监听 Listview 列表项点击事件 (这篇和上篇本来是应该一起写的,但是太过冗长,附链接:[SimpleAdapter 在 Listview 中的应用] ht ...
- Android屏幕触摸监听,Android在Fragment中实现监听触摸事件
本文给大家介绍的是监听Fragment的触摸事件实现.如果大家有更好的机制,可以留言交流,下面来看看详细的介绍: 大家都知道,我们的activity中有onTouchEvent方法,可以用来实现触摸事 ...
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
8.1.常用命令 启动ZK服务 bin/zkServer.sh start 查看ZK服务状态 bin/zkServer.sh status 停止ZK服务 bin/zkServer.sh stop 重启 ...
- 监听列表事件的监控核心技术(编写代码)
这一段代码是根据上一篇"监听列表事件的监控"所编写的,在onmousemove事件中,可以通过事件对象获取到鼠标当前的坐标点,我们该如何将坐标点转化成为元素的left和top属性值 ...
- vue_组件_监听组件事件
1.$emit 的使用 在组件中注册自定义事件 $emit(事件名, 参数) //该参数会当作第一个参数传入绑定的函数中 下面用一个菜单栏例子来说明,如下图所示 组件 Vue.component ...
- Android通过使用系统广播监听网络状态的改变
Android通过使用广播监听网络状态的改变 得先添加权限 //查看网络状态<uses-permission android:name="android.permission.ACCE ...
最新文章
- UA SIE545 优化理论基础1 凸分析1 线性流形与超平面
- 深入浅出python机器学习_3.3.1_对数据集进行分析
- 机器学习基础6--集群模型和算法
- 大剑无锋之UNION 和 UNION ALL (SQL)【面试推荐】
- 5.14 js对象 函数 js操作document对象
- 使用HP Vertica进行.NET编程
- pycharm 运行后,如何查看变量值以及继续输入语句并运行?(非Debug , debug太慢)
- 火狐浏览器不支持html5,这样写 火狐浏览器不支持?
- 有什么好用的windows PDF阅读器?答案在这里面
- #UML# Astah+Doxygen 将C++源码映射为类图
- 1990年图灵奖--费尔南多·考巴脱简介
- 【数据结构】树与二叉树的基本概念及性质
- 如何做一个讨厌的女人
- c语言字符三维数组定义时赋值,c语言中三维数组的赋值顺序?
- http://localhost:8080打不开
- maven使用的总结
- C Primer Plus(6) 中文版 第3章 数据和C 3.4 C语言基本数据类型
- 信创实际落地如何?详解《2021中国信创产业应用落地研究报告及供应商60强》
- 云原生之使用Docker部署webssh工具sshwifty
- 员工上班时间内高效率逛淘宝,企业如何解决?