Junior — Middle
¿Se puede estar seguro de que al cambiar la configuración se llamará exactamente al constructor del fragmento del usuario?
sobes.tech AI
Respuesta de la IA
No, no se puede estar seguro de que al cambiar la configuración se llame exactamente al constructor del fragmento por defecto.
En Android, el sistema puede volver a crear fragmentos usando el constructor sin parámetros (por defecto), especialmente al restaurar el estado después de un cambio de configuración (por ejemplo, rotación de pantalla).
Por lo tanto, se recomienda:
- Usar el constructor por defecto sin parámetros.
- Pasar parámetros a través de
Bundleusando el métodosetArguments(). - Extraer los parámetros en el método
onCreate()oonCreateView()desdegetArguments().
Esto garantiza una restauración correcta del estado del fragmento por parte del sistema.
Ejemplo:
class MyFragment : Fragment() {
companion object {
fun newInstance(param: String): MyFragment {
val fragment = MyFragment()
val args = Bundle()
args.putString("param_key", param)
fragment.arguments = args
return fragment
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val param = arguments?.getString("param_key")
// Usar param
}
}