Escribir en un EditText tipo tarjeta de crédito
EditText editTextCCNumber; editTextCCNumber.addTextChangedListener(new TextWatcher() { int prevL = 0; @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { prevL = editTextCCNumber.getText().toString().length(); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { int length = s.length(); if ((prevL < length) && (length == 4 || length == 9 || length == 14)) { editTextCCNumber.append(" "); } else if ((prevL > length) && (length == 4 || length == 9 || length == 14)) { editTextCCNumber.getText().delete(editTextCCNumber.getText().length() - 1, editTextCCNumber.getText().length()); } } @Override public void afterTextChanged(Editable s) { } });