Формат валюты для EditText - PullRequest
       26

Формат валюты для EditText

0 голосов
/ 04 марта 2020

Я использую эту библиотеку для форматирования текста, когда пользователь печатает. У меня есть EditText, где пользователь вводит деньги. Я хочу добиться следующего поведения в качестве пользовательских типов:

Ввод пользователя -> Результат EditText

1 -> 1 доллар

10 -> 10 долларов

100 -> 100 долларов

1000 -> 1 000 долларов

Однако я получил следующее:

1 -> 1 доллар

10 -> 10 долларов

100 -> 100 долларов

1000 -> 100 0 долларов

  val mask = MaskedTextChangedListener(
            "[000] [000] [000] dollars",
            false,
            etAmount,
            object : TextWatcher {
                override fun afterTextChanged(s: Editable?) { }

                override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}

                override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
            },
            null
        )

 etAmount.addTextChangedListener(mask)

В документации не очень ясно, как этого добиться и я застрял в этом вопросе. Любые предложения будут ценны.

1 Ответ

2 голосов
/ 04 марта 2020

Автор библиотеки здесь.

У нас есть вики-страница с описанием масок для текстов с выравниванием справа налево; на этой странице есть случай, похожий на ваш.

Короче, попробуйте настроить ваш слушатель так:

mask.rightToLeft = true
...