EditText输入自动空格
发布时间:2020-05-24 22:43:29 所属栏目:Java 来源:互联网
导读:EditText输入自动空格
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 packagecn.juzhong.util;
importandroid.text.Editable;
importandroid.text.Selection;
importandroid.text.TextWatcher;
importandroid.widget.EditText;
publicclassEditTextUtilimplementsTextWatcher{
privateintbeforeTextLength=0;//输入前的长度
privateintonTextLength=0;//文字的长度
privatebooleanisChanged=false;
privateintlocation=0;//记录光标的位置
privatechar[]tempChar;
privateStringBufferbuffer=newStringBuffer();
privateintblankNumber=0;
privateEditTexteditText;
publicEditTextUtil(EditTexttext){
editText=text;
}
@Override
publicvoidafterTextChanged(Editablearg0){
//TODOAuto-generatedmethodstub
if(isChanged){
location=editText.getSelectionEnd();
intindex=0;
while(index<buffer.length()){
if(buffer.charAt(index)==''){
buffer.deleteCharAt(index);
}else{
index++;
}
}
index=0;
intkonggeNumberC=0;
while(index<buffer.length()){
if((index==4||index==9||index==14||index==19)){
buffer.insert(index,'');
konggeNumberC++;
}
index++;
}
if(konggeNumberC>blankNumber){
location+=(konggeNumberC-blankNumber);
}
tempChar=newchar[buffer.length()];
buffer.getChars(0,buffer.length(),tempChar,0);
Stringstr=buffer.toString();
if(location>str.length()){
location=str.length();
}elseif(location<0){
location=0;
}
editText.setText(str);
Editableetable=editText.getText();
Selection.setSelection(etable,location);
isChanged=false;
}
}
@Override
publicvoidbeforeTextChanged(CharSequencetext,intarg1,intarg2,intarg3){
//TODOAuto-generatedmethodstub
beforeTextLength=text.length();
if(buffer.length()>0){
buffer.delete(0,buffer.length());
}
blankNumber=0;
for(inti=0;i<text.length();i++){
if(text.charAt(i)==''){
blankNumber++;
}
}
}
@Override
publicvoidonTextChanged(CharSequencetext,intarg3){
//TODOAuto-generatedmethodstub
onTextLength=text.length();
buffer.append(text.toString());
if(onTextLength==beforeTextLength||onTextLength<=3
||isChanged){
isChanged=false;
return;
}
isChanged=true;
}
}
bankNumberEditText.addTextChangedListener(newEditTextUtil(bankNumberEditText)); 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java输入if语句为false
- java – 使用FindBugs Maven插件的自定义检测器
- JSP中 Session和作用域的使用
- Java使用正则表达式实现找出数字功能示例
- 判断android设备wifi连接状态
- java – 在Statement与ResultSet上设置提取大小之间的区别
- 为什么java.net.SocksSocketImpl是Java中的默认java.net.So
- 简单了解Spring中BeanFactory与FactoryBean的区别
- 你如何配置GroovyConsole所以我不必在启动时导入库?
- java – 关闭BufferedOutputStream还关闭了底层的OutputStr
