169 похожих чатов

Здравствуйте, хочу отследить нажатие на глазик (endIconDrawable) и хочу получить

его состояние (включен или не включен) как это сделать?

22 ответов

13 просмотров

editText.setOnTouchListener(OnTouchListener { v, event -> val drawable: Drawable = editText.compoundDrawables[2] ?: return@OnTouchListener false // Если изображения справа нет, обработка прекращается if (event.action != MotionEvent.ACTION_UP) return@OnTouchListener false // Если это не пресс-событие, больше не обрабатывать его if (event.x > (editText.width - editText.paddingRight - drawable.intrinsicWidth) ) { // нажатие } false })

первое что я бы сделал : погуглил

Артем 🇺🇦-Oborozhny Автор вопроса
Hovhannes Asatryan
первое что я бы сделал : погуглил

Я вчера над этим сидел, не особо успешно, думал тут сталкивались

Это TextInputLayout?

Артем 🇺🇦 Oborozhny
da

Какой нибудь endIconChangedListener не помог ?

Артем 🇺🇦-Oborozhny Автор вопроса

Когда его вешаю, то просто перестает реагировать, а changeIcon это вроде реагирует на тип значка(пароль, очистить текст и тд)

Артем 🇺🇦 Oborozhny
screenshot Когда его вешаю, то просто перестает реагировать, ...

Казалось бы, binding позволяет забыть про nullable, но нет, всё равно ставим ?.

Артем 🇺🇦 Oborozhny
я не знал этого)

А ещё в котлине можно писать a = if (b) { c } else { d } и не повторять километровые присваивания в if - else.

Артем 🇺🇦-Oborozhny Автор вопроса
Leonid B.
А ещё в котлине можно писать a = if (b) { c } e...

не, ну это то я знаю, просто щас накидываю варианты как можно сделать то что хочу, а потом уже буду улучшать код) может не правильно делаю, но так удобнее для понимания

Артем 🇺🇦-Oborozhny Автор вопроса

та вроде нет

Артем 🇺🇦 Oborozhny
та вроде нет

Пример видимость пароля переключает туда-сюда.

Артем 🇺🇦 Oborozhny
screenshot Когда его вешаю, то просто перестает реагировать, ...

Для чего прописывать логику, если указал app:endIconMode="password_toggle" и всё работает. По крайней мере у меня так, либо я что-то не понял

Артем 🇺🇦-Oborozhny Автор вопроса
Max Мартьянов
Для чего прописывать логику, если указал app:endIc...

У меня есть 2 поля для ввода пароля. Я хочу, чтобы при скрытии одного скрывалось и другое, чтобы это происходило одновременно у двух полей

Артем 🇺🇦 Oborozhny
У меня есть 2 поля для ввода пароля. Я хочу, чтобы...

Подробности подъехали 😏 Может быть, есть смысл сделать отдельную кнопку Show/hide all passwords? Меня, как юзера, сильно напрягло бы, если бы я захотел открыть только один пароль, а показались бы все сразу. Какого фига?

Артем 🇺🇦-Oborozhny Автор вопроса
Leonid B.
Подробности подъехали 😏 Может быть, есть смысл сд...

та я уже решил отказаться от идеи одновременного переключения

Pavel Erokhin
а биндинг там и не прчем

Это просто я пою свою любимую песню об использовании nullable в любой непонятной ситуации.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта