и я хочу сделать так, чтобы в него вводились только определенные символы (например "123qaz"). Как это сделать лучше всего? Пробовал через текст ватчер и как то не очень. Плюс ещё надо сделать так, чтобы при копипасте выполнялась эта же проверка
Добавь фильтр к edittext https://developer.android.com/reference/android/text/InputFilter
Примерно так object AmountInputFilter : InputFilter { private val regex = """[0-9]{0,5}(\.[0-9]{0,2})?""".toRegex() override fun filter(source: CharSequence?, start: Int, end: Int, dest: Spanned?, dstart: Int, dend: Int): CharSequence? { val newSource = source?.substring(start, end) ?: "" val newDest = dest?.replaceRange(dstart, dend, newSource) ?: "" return if (!regex.matches(newDest)) { "" } else { null } } }
Обсуждают сегодня