Sobes.tech
Junior — Middle

Чӣ гуна метавон параметрҳоро ҳангоми оғозёбии Fragment дар Android интиқол дод?

sobes.tech AI

Ҷавоб аз AI

Параметрҳо ҳангоми оғоз кардани Fragment дар Android одатан тавассути объекти Bundle, ки бо истифода аз усули setArguments() дар Fragment муқаррар карда мешавад, гузаронида мешаванд. Ин барои он аст, ки параметрҳо ҳангоми барқарорсозии системаи фрагмент нигоҳ дошта шаванд.

Масалан барои сохтани фрагмент бо параметрҳо:

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)
        // Истифодаи param дар зарурӣ
    }
}

Бинобар ин, вақте ки фрагмент сохта мешавад, усули статикӣ newInstance даъват мешавад, ки параметрҳоро дар Bundle баста, онҳоро дар фрагмент муқаррар мекунад. Ин усули стандартӣ ва тавсияшуда барои гузаронидани параметрҳо ба фрагментҳо мебошад.