Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է փոխանցել պարամետրեր Android-ում Fragment-ի սկզբում։

sobes.tech AI

Պատասխան AI-ից

Android-ում Fragment- ի սկզբնավորման ժամանակ պարամետրերը սովորաբար փոխանցվում են Bundle օբյեկտի միջոցով, որը սահմանվում է Fragment-ում setArguments() մեթոդի միջոցով: Սա կատարվում է այն նպատակով, որ պարամետրերը պահպանվեն համակարգի կողմից վերա ստեղծված ֆրագմենտի ժամանակ:

Պատկերակիր ստեղծելու օրինակ՝ պարամետրերով:

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-ով և սահմանում է դրանք ֆրագմենտում: Սա ստանդարտ և խորհուրդ տված մեթոդ է պարամետրեր փոխանցելու համար ֆրագմենտներին։