наборе текста я меняю значение во viewModel, там заменяю значение в livedata и все занова происходит отрисовка
Надо менять у обьекта который биндит ячейку в самом адаптере
как синхронизировать значение во viewModel?
А какая проблема в перерисовке?
ну как минимум указатель сбивается на 1 символ
Я бы в онбинде проверял фокус эдит текста и если true, ставил бы указатель в конец
Если что это ListAdapter
Что за лист адаптер? Ячейка это AutocompleteTextView?
у него он бинд тоже есть ._.
Я думаю у любого списка есть бинд метод
короче написал вот такой extension fun EditText.setTextIfChanged(newText: String?){ newText?.let{ if(text.toString() != it) { setText(it) } } if(isFocusable) setSelection(text.length) }
Больше this в контексте this! 🤘
аххахааха
😂 ну да, поправил
А зачем newText nullable? Юзер может ввести null? 😏
null может прилететь с backend, да и если пользователь ничего не ввел, то будет отправляться как null
В данном случае null == пустая строка, только null будет проигнорирован в отличие от пустой строки. Т.е. имеем глюк. И это... Зачем UI вообще знать, что там может прилететь с сервера? Это не его забота.
Обсуждают сегодня