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-ში და სეტავს მათ ფრაგმენტში. ეს არის სტანდარტული და რეკომენდებული მეთოდი პარამეტრების გადაცემისთვის ფრაგმენტებს შორის.