packagecom.example.view;importcom.iflytek.voiceads.AdError;importcom.iflytek.voiceads.AdKeys;importcom.iflytek.voiceads.IFLYAdListener;importcom.iflytek.voiceads.IFLYAdSize;importcom.iflytek.voiceads.IFLYFullScreenAd;importandroid.content.Context;importandroid.text.Editable;importandroid.text.TextWatcher;importandroid.util.AttributeSet;importandroid.view.KeyEvent;importandroid.widget.EditText;importandroid.widget.Toast;publicclassHPEditTextextendsEditText{privatebooleanisRun=false;privateStringd="";privateContextmContext;publicHPEditText(Contextcontext,AttributeSetattrs,intdefStyle){super(context,attrs,defStyle);this.mContext=context;setBankCardTypeOn();}publicHPEditText(Contextcontext,AttributeSetattrs){super(context,attrs);setBankCardTypeOn();}publicHPEditText(Contextcontext){super(context);setBankCardTypeOn();}publicvoidsetBankCardTypeOn(){HPEditText.this.addTextChangedListener(newTextWatcher(){@OverridepublicvoidonTextChanged(CharSequences,intstart,intbefore,intcount){if(isRun){isRun=false;return;}isRun=true;d="";StringnewStr=s.toString();newStr=newStr.replace("","");intindex=0;while((index+4)<newStr.length()){d+=(newStr.substring(index,index+4)+"");index+=4;}d+=(newStr.substring(index,newStr.length()));inti=getSelectionStart();HPEditText.this.setText(d);try{if(i%5==0&&before==0){if(i+1<=d.length()){HPEditText.this.setSelection(i+1);}else{HPEditText.this.setSelection(d.length());}}elseif(before==1&&i<d.length()){HPEditText.this.setSelection(i);}elseif(before==0&&i<d.length()){HPEditText.this.setSelection(i);}elseHPEditText.this.setSelection(d.length());}catch(Exceptione){}}privatevoidinsertText(EditTexteditText,StringmText){editText.getText().insert(getSelectionStart(),mText);}@OverridepublicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter){}@OverridepublicvoidafterTextChanged(Editables){//Toast.makeText(mContext,"最中输入"+s,Toast.LENGTH_LONG).show();}});}}