GOOGLE ADS

martes, 3 de mayo de 2022

¿Por qué se usa get () en este ejemplo de viewBinding?

¡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

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...