Избегайте активности! при расширении DialogFragment - PullRequest
0 голосов
/ 22 апреля 2020

Я использую DialogFragment и в onCreateDialog мне нужно использовать ссылку на Activity. Проблема в том, что с последней библиотекой поддержки (28.0.0) действие становится обнуляемым, поэтому при использовании AlertDialog.Builder в onCreateDialog я вынужден использовать !!

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    [...]
    val dialog = AlertDialog.Builder(activity!!).setTitle(R.string.title)[...].create()
    [...]
    return dialog
}

Не могу добавить любая нулевая проверка, потому что мне все равно нужно вернуть диалог. Есть ли какое-то чистое решение, чтобы избежать использования! оператор?

1 Ответ

0 голосов
/ 22 апреля 2020

Используйте requireActivity(), но имейте в виду, что если ваш фрагмент еще не связан с действием, он выдаст IllegalStateException

...