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

Всем привет, хочу навесить во фрагменте изменения текста по кнопке,

но таким методом в логкат выводит лишь первое сообщение, а до остальных двух не доходит. Почему так происходит и будет ли фикс если переписать все императивно?

17 ответов

15 просмотров

метод который вызываешь в return - е, создай переменный потом уже делай действии. Т.е - val _view = inflater.inflate(R.layout.fragment_part_one, container, false) .... пиши тут логику с UI-ом .... return _view

Kamil-Foatov Автор вопроса

Понял, спасибо. А откуда кстати до этого взялся view?

потому что там null

Работай с view после метода ЖЦ onCreateView

это getView() метод встроенный в Fragment просто в котлине можно не писать get префикс к методам

Как this может быть null??? Не, я понимаю, что можно написать ещё и не такое. Но такая дичь должна вызывать хотя бы подозрение, что что-то идёт не так.

Легко. В activity до onCreatе вроде такида

Kamil-Foatov Автор вопроса

Что? В теле замыкания указано, что this это Button?. Совершенно спокойно может быть и null. Почему это дичь? Код работает, если инициализировать view ранее.

Не, экзотика до вызова конструктора - это другое. Тут уже давно все сконструировано.

То есть вы не знаете, кнопку вы ищете или что-то другое, поэтому пишете <Button?> ? This - это сам объект, в котором вы сейчас находитесь. Как, как он может быть null? 😁

Kamil-Foatov Автор вопроса

Нет, я не знаю наверняка что находится во view: null или View, поэтому для ситуации когда функции поиска нужного объекта у null не будет (не будет наверняка), моим аргументом станет null, а не кнопка.

findViewById<Button>(r.id.xxxx)?.apply или let Заметна некоторая разница? 😏

Kamil-Foatov Автор вопроса

Одного фейспалма будет мало чтобы прокомментировать этот поток душноты

Согласен. Продолжайте проверять this на null и вообще ставьте в любой непонятной ситуации ?. Котлин умный, он вытянет. Может быть. Удачи!

Ну в экстеншн функции может быть. isNullOrEmpty() например

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта