Junior — Middle
É possível ter certeza de que, ao alterar as configurações, o construtor do fragmento do usuário será chamado?
sobes.tech IA
Resposta da IA
Não, não se pode ter certeza de que ao alterar as configurações será chamado exatamente o construtor do fragmento do utilizador.
No Android, o sistema pode recriar fragmentos usando o construtor sem parâmetros (padrão), especialmente ao restaurar o estado após uma alteração de configuração (por exemplo, rotação da tela).
Portanto, recomenda-se:
- Usar o construtor padrão sem parâmetros.
- Passar parâmetros através de
Bundleusando o métodosetArguments(). - Extrair os parâmetros no método
onCreate()ouonCreateView()degetArguments().
Isto garante a recuperação correta do estado do fragmento pelo sistema.
Exemplo:
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
}
}