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