Android编程实现实时监听EditText文本输入的方法
作者:Beyond0525 发布时间:2023-04-23 02:58:16
标签:Android,EditText
本文实例讲述了Android编程实现实时监听EditText文本输入的方法。分享给大家供大家参考,具体如下:
平时在做Android开发过程中经常要用到EditText,有时候可能需要监听你在TextView中输入的字数的状态和变化,以便于我们能做相应的提示和操作。我们可以通过下面的方式来实现。
class EditChangedListener implements TextWatcher {
private CharSequence temp;//监听前的文本
private int editStart;//光标开始位置
private int editEnd;//光标结束位置
private final int charMaxNum = 10;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (DEBUG)
Log.i(TAG, "输入文本之前的状态");
temp = s;
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (DEBUG)
Log.i(TAG, "输入文字中的状态,count是一次性输入字符数");
mTvAvailableCharNum.setText("还能输入" + (charMaxNum - s.length()) + "字符");
}
@Override
public void afterTextChanged(Editable s) {
if (DEBUG)
Log.i(TAG, "输入文字后的状态");
/** 得到光标开始和结束位置 ,超过最大数后记录刚超出的数字索引进行控制 */
editStart = mEditTextMsg.getSelectionStart();
editEnd = mEditTextMsg.getSelectionEnd();
if (temp.length() > charMaxNum) {
Toast.makeText(getApplicationContext(), "你输入的字数已经超过了限制!", Toast.LENGTH_LONG).show();
s.delete(editStart - 1, editEnd);
int tempSelection = editStart;
mEditTextMsg.setText(s);
mEditTextMsg.setSelection(tempSelection);
}
}
};
加上监听的事件。
mEditTextMsg.addTextChangedListener(new EditChangedListener());
效果图:
希望本文所述对大家Android程序设计有所帮助。


猜你喜欢
- 1,IDEA中Lombok作用数据库: 库 表 字段 对应的值 user表(id,name,age)实体对象pojo: 用来封装数据库中的数
- @Profile注解详解@Profile:Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;开发环境develop
- 上一次接触到编码的知识,还是上大学的时候,那时候学的是通信工程专业,有关编码的内容,不记得是在通信原理还是信息论与编码里面学到的了。却依然记
- 昨天直接在机器上配置了Maven环境,今天顺便把Eclipse等IDE环境配置好。安装IDE Plugins的方法有很多。其一:在线安装,通
- 前言Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBa
- 本文实例为大家分享了C#实现影院售票系统的具体代码,供大家参考,具体内容如下本人认为此项目的难点有4点1.首先是将解析完的XML文件绑定到T
- 这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、简介Add sleuth to
- 在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给
- 1、确定本地网络是通的:2、确定SpringBootq启动后是不报错的3、查看是不是自己在配置文件中加入了项目路径:如果加入了项目路径的话,
- QR 二维码中插入图片二维码终于火了,现在大街小巷大小商品广告上的二维码标签都随处可见,而且大都不是简单的纯二维码,而是中间有个性图标的二维
- 一、实现原理使用MockMvc发起请求,然后执行API中相应的代码,在执行的过程中使mock模拟底层数据的返回,最后结果验证。二、常用注解介
- 搜索过滤功能,相信大家都能用到,一般都是针对列表进行过滤的。下面给大家提供一种过滤列表的方法。老规矩,先上图RecycleView搜索过滤器
- 以下是tcp socket客户端和服务端源码,代码简单大家参考使用吧Tcp Server#include <WinSock2.h>
- 生命太短暂,不要去做一些根本没有人想要的东西。本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术
- 去除XSS字符串需要借助工具类 jsoup ,这里jsoup有一点需要注意的是,jsoup的功能可能有点太强大了,能把xss攻击的内容直接过
- 序列化是将一个对象转换成字节流以达到将其长期保存在内存、数据库或文件中的处理过程。它的主要目的是保存对象的状态以便以后需要的时候使用。与其相
- springboot项目部署平时我们在部署springboot打成jar方式部署得时候,大多数都会编写启动脚本,脚本有很多种写法,但大多数意
- 0.引言死信队列是消息队列中非常重要的概念,同时我们需要业务场景中都需要延迟发送的概念,比如12306中的30分钟后未支付订单取消。那么本期
- Android之ImageSwitcher的实例详解一. 简单示例实例代码:public class AndroidUIActivity e
- XML假如有这样一个XML格式的数据:<?xml version="1.0" encoding="utf