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.