Sobes.tech
Junior — Middle

Hogyan lehet paramétereket átadni egy Fragment inicializálásakor Androidban?

sobes.tech MI

Válasz az MI-től

Az Androidban a Fragment inicializálásakor általában a paramétereket egy Bundle objektumon keresztül adják át, amit a setArguments() metódussal állítanak be a Fragmentbe. Ez azért történik, hogy a paraméterek megmaradjanak a rendszer által újra létrehozott fragment esetén.

Példa egy paraméterekkel ellátott fragment létrehozására:

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)
        // Használja a parametert szükség szerint
    }
}

Így, a fragment létrehozásakor, a newInstance nevű statikus metódus hívódik, amely csomagolja a paramétereket egy Bundle-be, és beállítja azokat a fragmentbe. Ez a standard és ajánlott módszer a paraméterek átadására a fragmentek között.