Sobes.tech
Junior — Middle

Kaip vykdoma Fragment objekto inicializacija programoje?

sobes.tech AI

Atsakymas iš AI

Android'e dažniausiai Fragment objekto inicializacija vyksta sukuriant naują fragmento klasės egzempliorių. Rekomenduojama naudoti statinį metodą newInstance(), kuris sukuria fragmentą ir perduoda reikalingus parametrus per Bundle į fragmento argumentus. Tai padeda išvengti problemų su konstruktoriumi ir teisingai perduoti duomenis.

Pavyzdys:

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")
        // Naudoti param
    }
}

Vėliau fragmentas pridedamas prie Activity per FragmentManager.