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

О пока тут такое вот, то интересно, а как наиболее

правильно реализовать создание DialogFragment в методе?

35 ответов

30 просмотров

В каком смысле?

A A-F O X Автор вопроса

В том смысле, что будет довольно излишней конструкция типа "public class getDialogFragment extend DialogFragment" в моей самопальной недо-фабрике недо-билдере AlertDialog.

В каком смысле наследование это излишнее? Что то я вообще не понимаю, что ты хочешь 🤔

У класса название как у функции.

Метода 😏

Ой, всё 😁

A A-F O X Автор вопроса

Вот теперь я точно завпутолся

Напиши, что ты хочешь. DialogFragment это по сути фрагмент и работаешь ты с ним как с фрагментом.

Название твоего класса неправильное, переменуй.

A A-F O X Автор вопроса

Обёрточный цех хатю. Что бы у меня в одном месте создавался AlertDialog, а потом он оборачивался в DialogFragment и показывался.

А это все зачем 🙄?

Что-то ты там конкретно говнокодишь

Как вариант - сделать функцию, возвращающую AlertDialog, готовый к употреблению. Его оборачивать в Dialogfragment. Дешёво, сердито и можно использовать по отдельности.

A A-F O X Автор вопроса

Ну DialogFragment же куда лучше чем голый и страшный AlertDialog

Мне интересно, зачем??

Так ты можешь нарисовать его таким какой он тебе нужен, разные кнопочки, местоположение и т.д

Чтобы не было монолитного кода. Если хочется внутри AlertDialog.

Используй просто DialogFragment

Мне кажется, он просто, что-то не понимает. Ну или я.

Отнюдь. DialogFragment - это фрагмент со всеми своими неудобствами коммуникации с окружающим миром. AlertDialog со своими листенерами прост, как 5 копеек.

A A-F O X Автор вопроса

То есть всё же лучше оставить как есть и не выдумывать велосипед?

Работает - не трогай 😁 Если реально понадобится DialogFragment, тогда и используйте.

Если в диалоге нет сложной логики, зачем диалог фрагмент делать

Ты до конца не понимаешь, что ты хочешь. По факту ты хочешь впихнуть alertDialog в диалог фрагмент зачем? Если можно использовать их по отдельности, они выполняют одинаковые функции.

Однако есть нюанс. DialogFragment is lifecycle-aware, а AlertDialog - нет. То есть, если показан AlertDialog, а его активити или фрагмент закрывается, то будет крэш. Это можно обойти, завернув AlertDialog в lifecycle-aware код, который закрывает диалог на onDestroy родителя. Я себе так сделал, теперь ем и нахваливаю 😜

A A-F O X Автор вопроса

О, неплохая идея добавить реакцию AlertDialog на убитого родителя. Думаю топорное решение на if activity.isDestroyed() будет вполне достаточно. Благодарю вас за идею:)

Неа... Проблема именно в том, что про диалог забыли, а сам он не в курсе, когда нужно закрыться. Ему надо либо в onDestroy вызывать hide (т.е. хранить ссылку на диалог, а это не всегда удобно и вообще лишние телодвижения) либо заворачивать в lifecycle родителя и там вызывать hide на ON_DESTROY.

Порой, читаешь и думаешь "ну и говнокодер же я". А ведь и не программист совсем. Просто надо и все )))

A A-F O X Автор вопроса

В любом случае говнокод моего уровня никто не сможет достигнуть. 🙈

страшно, вырубайте

Главное это желание развивать себя и свой продукт. Остальное ерунда же.

Ты главное когда говнокод пишешь не оправдывай это "главное верить в себя и развиваться!"

Воу, а ты че злой такой?

Да и ни один чел не развивается, если не верит в себя. Так что нифига не пустые слова, зря ты так.

В функцию, которая создаёт диалог, лучше передавать коллбэки на кнопки, а не завязывать его напрямую на конкретную активити или фрагмент. А то понадобится тот же самый диалог в другом месте - и привет, используем copy paste driven development 😁

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта