Android手机号码输入框(满11位自动跳到下个输入框)实例代码
废话不多说了,直接给大家贴代码了,具体代码如下所示:
packagecom.jixiong.teen.view;
importandroid.content.Context;
importandroid.text.Editable;
importandroid.text.Selection;
importandroid.text.TextWatcher;
importandroid.util.AttributeSet;
importandroid.widget.EditText;
/**
*Createdbychristyon16/12/22.
*/
publicclassMoblieEditTextextendsEditText{
publicMoblieEditText(Contextcontext){
super(context);
this.addTextChangedListener(newMoblieWatcher());
}
publicMoblieEditText(Contextcontext,AttributeSetattrs){
super(context,attrs);
this.addTextChangedListener(newMoblieWatcher());
}
publicMoblieEditText(Contextcontext,AttributeSetattrs,intdefStyleAttr){
super(context,attrs,defStyleAttr);
this.addTextChangedListener(newMoblieWatcher());
}
classMoblieWatcherimplementsTextWatcher{
intbeforeTextLength=0;
intonTextLength=0;
booleanisChanged=false;
intlocation=0;//记录光标的位置
privatechar[]tempChar;
privatefinalStringBufferbuffer=newStringBuffer();
intkonggeNumberB=0;
@Override
publicvoidbeforeTextChanged(CharSequences,intstart,intcount,
intafter){
beforeTextLength=s.length();
if(buffer.length()>0){
buffer.delete(0,buffer.length());
}
konggeNumberB=0;
for(inti=0;ikonggeNumberB){
location+=(konggeNumberC-konggeNumberB);
}
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;
}
setText(str);
Editableetable=getText();
Selection.setSelection(etable,location);
isChanged=false;
}
}
}
}
使用;;
直接在布局中引用
然后再activity中初始化
etUserNums.addTextChangedListener(newTeenEmptyWatcher(){
@Override
publicvoidonTextChanged(CharSequences,intstart,intbefore,intcount){
}
@Override
publicvoidafterTextChanged(Editables){
if(s!=null&&s.length()==13){
if(etUserNums.isFocused()){
etUserNums.clearFocus();
etUserPwd.requestFocus();
}
}
}
});
总结
以上所述是小编给大家介绍的Android手机号码输入框(满11位自动跳到下个输入框)实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!