а если val в onPositiveButton замутить - ему присвоить значение EditText... и val пользовать ?
Т.е пробрасывать edit text извне?
ну надо или свой диалог , что бы пробросить, можно setFragmentResult глянуть
А по-другому не получится
Ну странно. Надо же перед show
и что получаешь этим requireView ?
Пытаюсь получить вью диалога, id точно есть
Стоп. View диалога ? Тогда setFragmentResult
setFragmentResult вешается на нужную кнопку внутри диалога и бандл заполнить с нужными данными, а в нужном фрагменте(из которого ты открыл например)setFragmentResultListener почитай...
спасибо за инфу, гляну
Сразу 3 косяка. 1. Сразу после show фрагмент ещё не готов, он ещё находится в процессе показывания. 2. findViewById может вернуть null, если ничего не найдено. Но вы ему говорите: а мне пофиг!! Используйте !! только в самых крайних случаях, когда вы точно понимаете, какие будут последствия. 3. Нельзя просто так снаружи фрагмента вызывать его методы (свойства устанавливать, листенеры и т.п.)
Спасибо за критику. Мне выше писали про то, что нужно setFragmentResult юзать, есть ли альтернативные варианты?
Косяк номер 4. Вы хотите получить вью диалога, но вызываете requreView у кого? И в любом случае это неправильно потому что см. косяк номер 1.
А как понять что фрагмент готов?
Внутри самого фрагмента. Например, когда вызывается onViewCreated. Не раньше. Зависит от целей.
До вызова show(), как я понял, любая попытка получить что-то через findviewbyid() будет заканчиваться нуллом
Ещё раз. Так нельзя делать. Потому что lifecycle. Между фрагментами правильно обмениваться информацией нужно так: https://developer.android.com/guide/fragments/communicate
Мне не нужно обмениваться информацией между фрагментами, у меня они логикой кроме вызова одного и с другого никак не связаны. Я спрашивал про то как правильно обратиться ко вьюшке внутри диалог фрагмента
Кроме того, У КОГО вы вызываете requireView? См. косяк 4.
Это тоже обмен информацией. Сюрприз.
Обсуждают сегодня