加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读