Sobes.tech
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 Bundle usando o método setArguments().
  • Extrair os parâmetros no método onCreate() ou onCreateView() de getArguments().

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
    }
}