getContext()
returns a nullable Context
.
requireContext()
returns a nonnull Context
, or throws an exception when one isn't available.
If your code is in a lifecycle phase where you know your fragment is attached to a context, just use requireContext()
to get a Context
and also keep static analyzers happy about potential NPE issues.
If your code is outside of regular fragment lifecycle (say, an async callback), you might be better off using getContext()
, checking its return value yourself and only proceeding using it if it was non-null.
Being explicit with nullability is even more important in Kotlin where it is built into the language's type system.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…