Sobes.tech
Junior — Middle

Фрагмент түзүү ыкмасында аргументтер эмне үчүн берилет жана бул анын иштешине кандай таасир этет?

sobes.tech AI

AIден жооп

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ə, argumentlar 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.