EditText inputType сперва числа, потом буквы
Нужно сделать поля EditText с возможностью вводить номер дома и квартиры.
Номера бывают целочисленные, но встречаются варианты с буквами и дробями: 7А, 10/4 и тому подобное.
Понятно, что можно просто сделать строку, но хотелось бы сперва отобразить числовую клавиатуру (так как чаще всего просто число), но при этом иметь возможность переключения.
Подходящего варианта в списке предлагаемых я не нашел, может кто-то подскажет.
Ответы (1 шт):
В Андроид можно динамически менять inputType у виджета EditText. Предположим, у вас есть EditText с inputType = "number" и две кнопки:
<EditTextinputType
...
android:id="@+id/editText"
android:hint="Номер дома"
android:inputType="number" />
<Button
...
android:id="@+id/button1"
android:text="Установить текстовый ввод" />
<Button
...
android:id="@+id/button2"
android:text="Установить числовой ввод" />
По нажатию на первую кнопку будем менять inputType на TYPE_CLASS_TEXT:
button1.setOnClickListener {
editText.inputType = TYPE_CLASS_TEXT
}
А при нажатии на вторую кнопку будем менять inputType обратно на TYPE_CLASS_NUMBER:
button2.setOnClickListener {
editText.inputType = TYPE_CLASS_NUMBER
}