android 银行卡号 4位,Android中控制银行卡号的输入 即4个数字空一格
最近在做一个输入扫描银行卡的需求,要求通过card.io这个开源的sdk扫描获得银行卡号,或者直接输入卡号。那么在输入卡号的过程中,需要每4个数字自动空一格,实现起来也比较简单,主要是实现一个TextWacher的接口,然后重写里面的beforeTextChanged(),onTextChanged()以及afterTextChanged()三个方法。主要代码如下
import android.text.Editable;
import android.text.Selection;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.EditText;
public class SpaceText implements TextWatcher{
private String TAG = "SpaceText";
private EditText etSpace;
int beforeTextLength = 0;
int onTextLength = 0;
public SpaceText(EditText etSpace){
super();
this.etSpace = etSpace;
}
public String removeAllSpace(String str) {
String tmpstr=str.replace(" ","");
return tmpstr;
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
String str = etSpace.getText().toString();
Log.d(TAG, "mEditText = " + removeAllSpace(str) + ".");
onTextLength = str.length();
Log.d(TAG, "beforeLen = " + beforeTextLength + "afterLen = " + onTextLength);
if (onTextLength > beforeTextLength) {
if (str.length() == 5 || str.length() == 10 || str.length() == 15 || str.length() == 20) {
etSpace.setText(new StringBuffer(str).insert(
str.length() - 1, " ").toString());
etSpace.setSelection(etSpace.getText()
.length());
Log.d(TAG, "selection = " +etSpace.getText()
.length());
}
} else {
if (str.startsWith(" ")) {
etSpace.setText(new StringBuffer(str).delete(
onTextLength - 1, onTextLength).toString());
etSpace.setSelection(etSpace.getText()
.length());
Log.d(TAG, "else start space");
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
beforeTextLength = s.length();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
}
首先创建一个类实现TextWatcher接口,重载构造方法来接受一个EditText类型的etSpace数据,这样在主函数中的EditText的控件里只用加入TextWatcher SpaceText = new SpaceText(EditText)将EditText传进去,然后 EditText.addTextChangedListener(SpaceText)设置监听即可。
代码比较简单,就当做一个小总结了。
android 银行卡号 4位,Android中控制银行卡号的输入 即4个数字空一格相关推荐
- Android中控制银行卡号的输入 即4个数字空一格
最近在做一个输入扫描银行卡的需求,要求通过card.io这个开源的sdk扫描获得银行卡号,或者直接输入卡号.那么在输入卡号的过程中,需要每4个数字自动空一格,实现起来也比较简单,主要是实现一个Text ...
- android html换行,在html中控制自动换行
在html中控制自动换行 在网上搜寻到2中解决方案: 1.其实只要在表格控制中添加一句 就搞定了. 其中可能对英文换行可能会分开一个单词问题:解决如下: 语法: word-break : normal ...
- html只能输入两位小数,JQuery控制input只能输入数字和两位小数(有关金额)代码...
jquery代码: function num(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字&quo ...
- jquery 验证小数点后几位_利用jquery实现验证输入的是否是数字、小数,包含保留几位小数...
1.验证方法 validationNumber(e, num) e代表标签对象,num代表保留小数位数 function validationNumber(e, num) { var regu = ...
- Android中的EditText输入银行卡号四位空一格
近期项目开发有需要用户输入银行卡号,为了便于用户区分自己是否输入的正确,提升用户体验,特做了银行卡号四位一空格的操作.同时考虑到粘贴复制过来的银行卡号也要做四位一空格的处理,所以自定义了一个监听事件, ...
- android自定义view获取控件,android 自定义控件View在Activity中使用findByViewId得到结果为null...
转载:http://blog.csdn.net/xiabing082/article/details/48781489 1. 大家常常自定义view,,然后在xml 中添加该view 组件..如果在 ...
- 控制TextBox只能输入数字
在有些场合下需要控制TextBox的输入内容只能是数字,这可以通过添加TextBox的键盘事件(onkeyup.onkeypress.onkeydown等)来实现. 首先说一下键盘事件的触发顺序:on ...
- 【android】EditText输入银行卡号每四位空一格
完美仿微信银行卡号输入,输入每4个数字就自动添加一个空格 代码如下: import android.text.Editable; import android.text.Selection; impo ...
- 【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler...
来自:http://blog.csdn.net/jason0539/article/details/18055259 遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新, ...
- c语言控制安卓桌面,让你自己编写的Android的Launcher成为系统中第一个启动应用程序,也是唯一的Launcher...
关注嵌入式安卓物联网行业及人才培养,每日更新,欢迎订阅及留言讨论~~~ 作者:倪键树,嵌入式安卓物联网讲师. 让你自己编写的Android的Launcher成为系统中第一个启动应用程序,也是唯一的La ...
最新文章
- python扫雷 广度优先_Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper)...
- 只因接了一个电话,程序员被骗 30 万!
- Parasoft、SmartBear和Gimpel Software测试分析类产品对比评测
- android屏幕底部黑块,Android surfaceView 黑块问题
- 1.3 Quick Start中 Step 3: Create a topic官网剖析(博主推荐)
- MySQL 数据备份与同步
- 论文笔记:DeepID2
- ApplicationContext和BeanFactory
- 自定义EventSource(三)IncrementingEventCounter
- XML基本知识(三)
- 【Python】安装方法小结
- 畅通工程(并查集模版题)
- 帮你解决Kali Linux 外接无线网卡显示不出来的问题
- python sasl_Pyhive、SASL和Python 3.5
- html5动态连线,canvas简单连线动画的实现代码
- 一师一优课计算机课程,教育部一师一优课在线会客室在南京成功直播
- TSINGSEE车载监控平台的城市渣土车监管解决方案
- 艾奇KTV电子相册制作软件 4.7 破解安装版
- sqlite及sqlite odbc driver使用简介
- Synology-群晖(三)DSM7.0系统Video Station无法播放DTS eac3解决方案
热门文章
- ies文件 vray_VRAY IES灯与光域网的灯有什么不同 VRAY IES有什么特性
- 瑞友天翼服务器ip地址怎么修改,怎么修改这个IP地址
- 软件工程毕业设计选题java_软件工程毕业设计选题
- Thinkpad x200 X201拆机换风扇教程 实图
- 八皇后(韩顺平java)
- 数字高程信息30m分辨率SRTM DEM数据下载与拼接(ENVI)
- 西班牙出差见闻之三(普拉多博物馆)
- vue+elementui+quill富文本框+秀米编辑器和135编辑器
- canvas对象arcTo函数的使用-遁地龙卷风
- 【SQL Server】入门教程-基础篇(完结)