Если вы посмотрите на исходный код метода fragment.getContext()
, вы увидите:
@Nullable
public Context getContext() {
return mHost == null ? null : mHost.getContext();
}
Что означает, что getContext
может вернуть null
.Внутренне mHost
представляет собой фрагмент Activity
, к которому прикреплен.Фрагмент не всегда привязан к активности хостинга, вы можете наблюдать это, используя onAttach
/ onDetach
обратные вызовы жизненного цикла.
В вашем случае, как уже упоминалось, лучшим подходом будет использование контекста из View
view.setOnClickListener { it.context }
Но в общем, всегда проверяйте обнуляемые вещи и не делайте !!
, даже если вы уверены, что это не null
.Таким образом у вас будет меньше подверженного ошибкам кода, предоставляя альтернативный способ обработки null
s.