I used some code I found here to answer this question, it worked well for me and I really hope this can help someone else. This is the code modified for this particular question:
myEditText.addTextChangedListener(new TextWatcher() {
int count=0;
@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) {
//Check if the text is 6 characters length, and if the user is writing.
//If that condition is true then add a "-" to the end of the text and set the cursor to the last position
//Otherwise if the text is 6 characters length, and if the user is deleting.
//By removing the "-" you're actually removing the las digit as well, then the the cursor is set to the last position
if (count <= myEditText.getText().toString().length() && s.length()==6){
String numberOnProgress = myEditText.getText().toString() + " ";
myEditText.setText(numberOnProgress);
int lastPosition = myEditText.getText().length();
myEditText.setSelection(lastPosition);
}else if (count >= myEditText.getText().toString().length() && s.length()==6){
String numberOnProgress = myEditText.getText().toString().substring(0,myEditText.getText().toString().length()-1);
myEditText.setText(numberOnProgress);
int pos = myEditText.getText().length();
myEditText.setSelection(pos);
}
//Update the count value at the end
count = myEditText.getText().toString().length();
}
});