Ввод EditText с шаблоном android

У меня есть EditText, в котором я должен принимать буквенно-цифровой ввод от пользователя, который относится к шаблону, а дефисы '-' вставляются автоматически.

"XXX-XXX-XXXX"

как этого добиться? Есть ли какой-нибудь шаблонный инструмент в Android?


person Shardul    schedule 22.11.2010    source источник
comment
Возможный дубликат редактирования ввода пользователей в реальном времени   -  person bummi    schedule 27.02.2016


Ответы (2)


Вы можете использовать addTextChangedListener для EditText
См. этот вопрос, который продемонстрировать это

person Labeeb Panampullan    schedule 22.11.2010

Этого можно добиться с помощью PatternedTextWatcher.

Редактировать:

EditText editText = (EditText) findViewById(R.id.edittext);

// Add text changed listener for automatic dots insertion.
editText.addTextChangedListener(new PatternedTextWatcher("###-###-####"));

И в XML:

<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:digits="1234567890-"/>
person Savelii Zagurskii    schedule 27.02.2016
comment
Элегантное решение. Спасибо - person Taras Vovkovych; 22.05.2017
comment
Это не соответствовало шаблону, когда я пытался удалить символы в случайном промежуточном положении, а затем продолжал добавлять новые символы из этого положения. - person Chintan Shah; 20.02.2018