Мне нужно поставить валюту в начале текста, и этот текст должен делиться тысячами на точки. Сейчас я использую MaskedTextChangedListener
из этой библиотеки, поэтому мой код выглядит следующим образом:
val listener = MaskedTextChangedListener(
"[000].[000].[000]",
true,monthlyInstallment.editText!!, null,null)
listener.rightToLeft = true
monthlyInstallment.editText?.addTextChangedListener(listener)
Здесь вы можете видеть, что я добавил маску и использовал значение rightToLeft
для деления сумма по точкам. Проблема в том, что если я добавлю валюту в начало маски, как $[000].[000].[000]
, валюта появится только после того, как я заполню всю маску, тогда как мне нужно будет ее отобразить, когда я начну печатать.
Также я пытался поставить логи c для добавления валюты в другие TextChangeListener
. Мой код следующий
if(!monthlyInstallment.editText?.text.toString().startsWith("$ ")){
monthlyInstallment.editText?.setText("$ " + monthlyInstallment.editText?.text.toString())
Logger.msg("check " + monthlyInstallment.editText?.text.toString().length)
}
monthlyInstallment.editText?.setSelection(monthlyInstallment.editText?.text.toString().length)
Здесь проблема в том, что мой курсор установлен где-то, но не в конце текста. Кстати, этот код помещен в метод afterTextChangedListener
.
Так может ли кто-нибудь помочь мне решить одну из проблем?