Sobes.tech
Junior — Middle

Como é que se podem passar parâmetros na inicialização de um Fragment em Android?

sobes.tech IA

Resposta da IA

Os parâmetros na inicialização de um Fragment em Android são geralmente passados através de um objeto Bundle, que é definido no Fragment usando o método setArguments(). Isto é feito para que os parâmetros sejam preservados ao ser recriado o fragmento pelo sistema.

Exemplo de criação de um fragmento com parâmetros:

class MyFragment : Fragment() {
    companion object {
        private const val ARG_PARAM = "param"

        fun newInstance(param: String): MyFragment {
            val fragment = MyFragment()
            val args = Bundle()
            args.putString(ARG_PARAM, param)
            fragment.arguments = args
            return fragment
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val param = arguments?.getString(ARG_PARAM)
        // Utilize o param conforme necessário
    }
}

Desta forma, ao criar o fragmento, é chamado o método estático newInstance, que empacota os parâmetros num Bundle e os define no fragmento. Este é o método padrão e recomendado para passar parâmetros aos fragments.