¡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 _bindingvalor sin tener que lidiar con el hecho de que _bindingpuede ser null. En la parte de su ejemplo que no incluyó, tienen un comentario bindingque 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 _bindingforzado a un nulltipo no ( ResultProfileBindingen lugar de ResultProfileBinding?).
Sin embargo, si se equivoca e intenta hacer referencia bindingantes onCreateView()o después onDestroyView()de, se bloqueará con un archivo NullPointerException.
Personalmente, evitaría este enfoque.
No hay comentarios:
Publicar un comentario