У меня есть EditText, и я хочу использовать его для ввода даты, я хочу сделать это, когда пользователь вставляет дату, мое приложение автоматически добавит '-' в EditText, поэтому только для пользователя необходимо ввести номер, ex;положить символ на edittext при вводе
user type: 21 -> device automatically 21-
user type: 01 -> device automatically 21-01-
user type: 2013 -> device automatically 21-01-2013
Я пробовал это;
edtTxt1.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
Integer textlength1 = edtTxt1.getText().length();
if (textlength1 == 2) {
edtTxt1.getText().insert(2, "-");
edtTxt1.setSelection(3);
/*I also tried this, no luck
edtTxt1.setSelection(edtTxt1.getText().length());*/
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
});
результат:
user type: 21 -> device automatically 21-
user type: 01 -> device automatically 2101-
Я не могу поставить курсор после '-'
EDIT Я попытался @svenoaks ответить, я был в состоянии поставить курсор после '-', но это это то, что происходит:
user type: 21 -> device automatically 21-
user type: 0 -> device automatically 21-210
DatePicker слишком большой для меня, я хочу использовать EditText, так как это больше подходит для моего приложения – Darjeeling
здесь улучшили свой ответ. Удачи :) – Superuser
То же самое происходит, как и svenoaks, но так как это полезно, я буду голосовать за ваш ответ, я найду другой способ, спасибо – Darjeeling