У меня есть ребята. У меня есть вопросы об edittext.Я создал формат телефона на edittext.Телефонный формат удаляется на edittext в android
Когда я запустил приложение, он работает, но когда я удаляю цифры в edittext, формат удаляется. У вас есть представление, что я могу сделать?
мое изображение: http://hizliresim.com/knd71v
Мой код:
public class MainActivity extends AppCompatActivity implements KeyEvent.Callback {
EditText edittext1;
String befor="0 _ _ _ - _ _ _ _ _ _ _";
TextView textview;
int u,u1,u2,u3,u4,u5,a,u6,u7 ;
String store;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edittext1=(EditText)findViewById(R.id.editText1);
textview=(TextView)findViewById(R.id.textView);
edittext1.setText(befor);
edittext1.setSelection(1);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
//System.out.println(edittext1.length());
edittext1.addTextChangedListener(textWatcher);
}
private final TextWatcher textWatcher=new TextWatcher() {
@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 (edittext1.length() == 24) {
String ilk=s.toString();
edittext1.setText(ilk.substring(0, 2) + "_ _ - _ _ _ _ _ _ _");
edittext1.setSelection(2);
a=1;
} else if (edittext1.length() == 22 && a==1) {
store = s.toString();
edittext1.setText(store.substring(0, 4) + " - _ _ _ _ _ _ _");
edittext1.setSelection(3);
u=4;
} else if (edittext1.length() == 21 && u ==4) {
store = s.toString();
u=5;
edittext1.setText(store.substring(0,4) + " - _ _ _ _ _ _ _");
edittext1.setSelection(6);
u1=3;
}
else if (edittext1.length()==21 && u1==3) {
store = s.toString();
edittext1.setText(store.substring(0, 6)+" " + store.substring(6,7) + "_ _ _ _ _ _");
edittext1.setSelection(8);
u2=1;
}
else if (edittext1.length()==20 && u2==1) {
store = s.toString();
edittext1.setText(store.substring(0, 9) + "_ _ _ _ _");
edittext1.setSelection(9);
u3=1;
}
else if (edittext1.length()==19 && u3==1)
{
String store = s.toString();
edittext1.setText(store.substring(0, 10) + "_ _ _ _");
edittext1.setSelection(10);
u4=1;
}
else if (edittext1.length()==18 && u4==1)
{
store = s.toString();
u4=0;
edittext1.setText(store.substring(0, 10)+" " + store.substring(10,11) + "_ _ _");
edittext1.setSelection(12);
u5=1;
}
else if (edittext1.length()==18 && u5==1)
{
store = s.toString();
edittext1.setText(store.substring(0, 13) + "_ _");
edittext1.setSelection(13);
u6=1;
}
else if (edittext1.length()==17 && u6==1)
{
String store = s.toString();
u6=2;
edittext1.setText(store.substring(0, 13)+ " " + store.substring(13,14) + "_");
edittext1.setSelection(15);
u7=1;
}
else if (edittext1.length() == 17 && u7 == 1) {
String store = s.toString();
edittext1.setText(store.substring(0, 16) + "");
edittext1.setSelection(16);
}
}
};
}
вы должны попробовать класс PhoneNumberUtils и его формат. –
http://www.codota.com/android/scenarios/52c5d288da0a63b7aea97c82/android.telephony.PhoneNumberFormattingTextWatcher?tag=coyote –