Junior — Middle
Fragment yaratma metodunda niyə arqumentlər verilir və bu onun işinə necə təsir edir?
sobes.tech Süni İntellekt
AI-dan cavab
Android-də, Fragment-ə məlumatların ötürülməsi zamanı adətən setArguments(Bundle) metodu istifadə olunur. Bu, fragmentin həyat dövrü boyunca istənilən vaxt getArguments() vasitəsilə əldə edə biləcəyi arqumentləri təyin etməyə imkan verir.
Bundle vasitəsilə arqumentlərin ötürülməsi vacibdir, çünki:
- Arqumentlər sistem tərəfindən fragment yenidən yaradılarkən saxlanılır və bərpa olunur (məsələn, ekranın döndürülməsi zamanı).
- Bu, fragmentin vəziyyətinin düzgün bərpasını təmin edir və qeyri-stabil sahələrdə məlumat saxlamağa ehtiyac qalmır.
- Müxtəlif parametrlərlə fragmentlər yaratmağa imkan verir, onları daha çevik edir.
Arqumentlərlə fragmentin yaradılması nümunəsi:
class MyFragment : Fragment() {
companion object {
private const val ARG_USER_ID = "user_id"
fun newInstance(userId: Int): MyFragment {
val fragment = MyFragment()
val args = Bundle()
args.putInt(ARG_USER_ID, userId)
fragment.arguments = args
return fragment
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val userId = arguments?.getInt(ARG_USER_ID) ?: 0
// userId-dən istifadə edin
}
}
Beləliklə, arqumentlər fragmentə təhlükəsiz və rahat məlumat ötürülməsini təmin edir və onların yenidən yaradılarkən saxlanmasını mümkün edir.