Escribir en un EditText tipo tarjeta de crédito
public static void addCreditCardFormat(TextView v, int maxLength) { InputFilter filter = new InputFilter.LengthFilter(maxLength); v.setFilters(new InputFilter[]{filter}); v.addTextChangedListener(new TextWatcher() { int beforeTextLength = 0; int onTextLength = 0; boolean isChanged = false; // 记录光标的位置 int location = 0; private char[] tempChar; private StringBuffer buffer = new StringBuffer(); @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { beforeTextLength = s.length(); if (buffer.length() > 0) { buffer.delete(0, buffer.length()); } location = v.getSelectionEnd(); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { onTextLength = s.length();