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位自动跳到下个输入框)实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!