¡Quiero saber por qué "enlace de valor privado get () = _enlace!" se usó aquí?
private var _binding: ResultProfileBinding? = null
private val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = ResultProfileBinding.inflate(inflater, container, false)
val view = binding.root
return view
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
Solución del problema
Supongo que obtuviste ese código de esta página en la documentación.
Su objetivo es brindarle una forma de acceder al _binding
valor sin tener que lidiar con el hecho de que _binding
puede ser null
. En la parte de su ejemplo que no incluyó, tienen un comentario binding
que señala que solo se puede usar entre onCreateView()
y onDestroyView()
. Si se encuentra en una parte de su código en la que puede garantizar que su código se ejecutará entre esas dos devoluciones de llamada, puede hacer referencia a binding
, que devolverá el valor de _binding
forzado a un null
tipo no ( ResultProfileBinding
en lugar de ResultProfileBinding?
).
Sin embargo, si se equivoca e intenta hacer referencia binding
antes onCreateView()
o después onDestroyView()
de, se bloqueará con un archivo NullPointerException
.
Personalmente, evitaría este enfoque.
No hay comentarios:
Publicar un comentario