decoro icon indicating copy to clipboard operation
decoro copied to clipboard

Удаление символа в слоте

Open MATPOCKIH opened this issue 4 years ago • 0 comments

Здравствуйте, можно ли как-то добиться результата, чтобы определенный символ в слоте просто удалялся? Это нужно для того, чтобы телефонной маске +7 (###) ###-##-## в слоте 4 удалять введенные пользователем цифры 7 и 8.

Сейчас настройка поля следующая:

    val slots = Slot.copySlotArray(RUS_PHONE_NUMBER)
    slots[1].setValueInterpreter(ValueInterpreter { character ->
        if (character == null) {
            return@ValueInterpreter null
        }
        if (character == '8') '7' else character
    })
    slots[3].flags = slots[3].flags or Slot.RULE_FORBID_CURSOR_MOVE_LEFT
    val newMask = MaskImpl(slots, true)
    newMask.isShowingEmptySlots = true
    newMask.isHideHardcodedHead = true
    val watcher = MaskFormatWatcher(newMask)

    watcher.installOnAndFill(editText)

MATPOCKIH avatar Jan 14 '21 12:01 MATPOCKIH