I have doubt to manage the phone number in android. I want to looks like when user enter the number inside the EditText then formate entering looks like 999 999 9999 and after complete the entering thf format should be looks like (999) 999-9999. How can achieve this thing. I did my coding something but when user click on cross key of keyboad to back the text the it is not working perfect. Any help please!
Code:
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
String phone = edit_profilephone.getText().toString();
if(phone.length() == 3)
{
edit_profilephone.setText(phone + " ");
edit_profilephone.setSelection(4);
}
else if(phone.length() == 7)
{
edit_profilephone.setText(phone + " ");
edit_profilephone.setSelection(8);
}
else if (phone.length() == 12)
{
int maxLength = 14;
InputFilter[] fArray = new InputFilter[1];
fArray[0] = new InputFilter.LengthFilter(maxLength);
edit_profilephone.setFilters(fArray);
StringBuilder buileString = new StringBuilder();
String splitnumber[] = phone.split("\\s+");
for (int i=0; i<splitnumber.length; i++)
{
if (i == 0)
{
buileString.append("(" + splitnumber[i] + ")");
}
else if (i == 1)
{
buileString.append(" " + splitnumber[i]);
}
else
{
buileString.append("-" + splitnumber[i]);
}
}
edit_profilephone.setText(buileString.toString());
}
}