Sobes.tech
Junior — Middle

Kuidas toimub Fragment objekti initsialiseerimine rakenduses?

sobes.tech AI

Vastus AI-lt

Androidis toimub Fragment objekti initsialiseerimine tavaliselt uue fragmenti klassi eksemplari loomisega. Soovitatav on kasutada staatilist meetodit newInstance(), mis loob fragmenti ja edastab vajalikud parameetrid läbi Bundle fragmenti argumentidesse. See aitab vältida konstruktoriga seotud probleeme ja andmeid õigesti edastada.

Näide:

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

Seejärel lisatakse fragment Activitysse FragmentManageri kaudu.