博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
银行卡输入特效 4个加一空格
阅读量:5058 次
发布时间:2019-06-12

本文共 2262 字,大约阅读时间需要 7 分钟。

private static final char kongge = ' '; private TextWatcher textWatcher=new TextWatcher() {
//改变之前text长度 int beforeTextLength = 0; //改变之前的文字 private CharSequence beforeChar; //改变之后text长度 int onTextLength = 0; //是否改变空格或光标 boolean isChanged = false; // 记录光标的位置 int location = 0; private char[] tempChar; private StringBuffer buffer = new StringBuffer(); //已有空格数量 int konggeNumberB = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {
beforeTextLength = s.length(); if (buffer.length() > 0) {
buffer.delete(0, buffer.length()); } konggeNumberB = 0; for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
konggeNumberB++; } } } @Override public void onTextChanged(CharSequence s, int start, int before, int count) {
onTextLength = s.length(); buffer.append(s.toString()); if (onTextLength == beforeTextLength || onTextLength <= 3 || isChanged) {
isChanged = false; return; } isChanged = true; } @Override public void afterTextChanged(Editable s) {
if (isChanged) {
location = yourCardNumEd.getSelectionEnd(); int index = 0; while (index < buffer.length()) {
if (buffer.charAt(index) == kongge) {
buffer.deleteCharAt(index); } else {
index++; } } index = 0; int konggeNumberC = 0; while (index < buffer.length()) {
if ((index == 4 || index == 9 || index == 14 || index == 19)) {
buffer.insert(index, kongge); konggeNumberC++; } index++; } if (konggeNumberC > konggeNumberB) {
location += (konggeNumberC - konggeNumberB); } tempChar = new char[buffer.length()]; buffer.getChars(0, buffer.length(), tempChar, 0); String str = buffer.toString(); if (location > str.length()) {
location = str.length(); } else if (location < 0) {
location = 0; } yourCardNumEd.setText(str); Editable etable = yourCardNumEd.getText(); if (location>20){
ToastUtil.ToastShow("最多才能输入20位"); return; } Selection.setSelection(etable, location); isChanged = false; } } };

转载于:https://www.cnblogs.com/fajuaryzpf/p/5578583.html

你可能感兴趣的文章
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
jdk从1.8降到jdk1.7失败
查看>>
一些关于IO流的问题
查看>>
mongo备份操作
查看>>
8 -- 深入使用Spring -- 3...1 Resource实现类InputStreamResource、ByteArrayResource
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
一个关于vue+mysql+express的全栈项目(六)------ 聊天模型的设计
查看>>
【知识库】-数据库_MySQL 的七种 join
查看>>
.net 写文件上传下载webservice
查看>>
noSQL数据库相关软件介绍(大数据存储时候,必须使用)
查看>>
iOS开发——缩放图片
查看>>
HTTP之URL的快捷方式
查看>>
满世界都是图论
查看>>
配置链路聚合中极小错误——失之毫厘谬以千里
查看>>
代码整洁
查看>>
蓝桥杯-分小组-java
查看>>
Java基础--面向对象编程1(类与对象)
查看>>
Android Toast
查看>>
iOS开发UI篇—Quartz2D使用(绘制基本图形)
查看>>
docker固定IP地址重启不变
查看>>