监听EditText输入的长度,控制合法数据录入packagecom.gx_school.model;importandroid.content.Context;importandroid.text.Editable;importandroid.text.TextWatcher;importandroid.widget.EditText;publicclassEditTextWatcher{privateContextmContext;publicEditTextWatcher(Contextcontext){mContext=context;}/***限制输入小数点后两位*@parameditText*/publicvoidsetPricePoint(finalEditTexteditText){editText.addTextChangedListener(newTextWatcher(){@OverridepublicvoidonTextChanged(CharSequences,intstart,intbefore,intcount){if(s.toString().contains(".")){if(s.length()-1-s.toString().indexOf(".")>2){s=s.toString().subSequence(0,s.toString().indexOf(".")+3);editText.setText(s);editText.setSelection(s.length());}}if(s.toString().trim().substring(0).equals(".")){s="0"+s;editText.setText(s);editText.setSelection(2);}if(s.toString().startsWith("0")&&s.toString().trim().length()>1){if(!s.toString().substring(1,2).equals(".")){editText.setText(s.subSequence(0,1));editText.setSelection(1);return;}}}@OverridepublicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter){}@OverridepublicvoidafterTextChanged(Editables){//TODOAuto-generatedmethodstub}});}/***限制输入的长度*@parameditText*@paramlen*/publicvoidsetEditLength(finalEditTexteditText,finalintlen){editText.addTextChangedListener(newTextWatcher(){@OverridepublicvoidonTextChanged(CharSequences,intstart,intbefore,intcount){if(s.toString().length()>len){Stringstr=s.toString().subSequence(0,len).toString();editText.setText(str);editText.setSelection(str.length());}}@OverridepublicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter){}@OverridepublicvoidafterTextChanged(Editables){//TODOAuto-generatedmethodstub}});}}使用方法privateEditTextedtTransFee;edtTransFee=(EditText)findViewById(R.id.tv_arriver_trans_fee);newEditTextWatcher(this).setPricePoint(edtTransFee);