Size: a a a

Android Developers

2021 May 14

L

Leonid in Android Developers
У вас же в функцию параметр контекста передается. Так и передавать.

Поле класса context уберите!
источник

ЕЕ

Екатерина Ермолаева... in Android Developers
заменила на  this  в аргументе метода. Но все равно класс с диалогом подсвечен желтым
источник

Na

Neon an Děv 8) in Android Developers
Alt+Enter что говорит?
источник

L

Leonid in Android Developers
И что пишет AS если навести мышь на лампочку?
источник

ЕЕ

Екатерина Ермолаева... in Android Developers
источник

L

Leonid in Android Developers
Правильно пишет. Уберите это поле из класса.
источник

Na

Neon an Děv 8) in Android Developers
уберите val context: Context? = null
источник

L

Leonid in Android Developers
Всё остальное нужно оставить как на первом скриншоте.
источник

ЕЕ

Екатерина Ермолаева... in Android Developers
А как переделать инфлейтер?
источник

L

Leonid in Android Developers
Его можно создать. Контекст есть.
источник

Na

Neon an Děv 8) in Android Developers
можете просто его с контекста получить:
LayoutInflater.from(context)
источник

L

Leonid in Android Developers
В setView можно сразу предавать layout id.
источник

L

Leonid in Android Developers
Смотря что требуется получить от диалогв в конечном счёте.
источник

Na

Neon an Děv 8) in Android Developers
Моя котлиновская душонка, не может без дсл, рекомендую сделать это как-то так:
fun <T : ViewBinding> Context.alertDialog(binding: T, editor: T.() -> Unit) = AlertDialog.Builder(this).setView(binding.root).apply(editor).show()

override fun onCreate(..) {
    alertDialog(SomeViewBindings.inflate(layoutInflater)) {
          someView.visibility = View.VISIBLE
    }
}

красота! (хотя да можно красивее сделать)
источник

ЕЕ

Екатерина Ермолаева... in Android Developers
а что за дсл?
источник

Na

Neon an Děv 8) in Android Developers
источник

L

Leonid in Android Developers
Domain Specific Language.
источник

ЕЕ

Екатерина Ермолаева... in Android Developers
спасибо
источник

Na

Neon an Děv 8) in Android Developers
Ну, можете не заморачиваться, написал просто для души.
Если уж хотите как-то так, то не забудьте включить вьюбиндинги
источник

L

Leonid in Android Developers
Советую сначала разобраться с традиционным способом работы с диалогами 😊

А после этого решать, использовать ли DSL.
источник