Escribir en un EditText con formato de tarjeta de crédito
public static void cardFormat(final EditText card) { card.addTextChangedListener(new TextWatcher() { private static final char space = ' '; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {} @Override public void onTextChanged(CharSequence s, int start, int before, int count) {} @Override public void afterTextChanged(Editable s) { if (s.length() > 0 && (s.length() % 5) == 0) { final char c = s.charAt(s.length() - 1); if (space == c) { s.delete(s.length() - 1, s.length()); } } if (s.length() > 0 && (s.length() % 5) == 0) { char c = s.charAt(s.length() - 1); if (Character.isDigit(c) && TextUtils.split(s.toString(), String.value