Junior — Middle
Оё мумкин аст, ки боварӣ ҳосил кард, ки ҳангоми тағир додани танзимот, танҳо сохтани қисмҳои корбарӣ даъват карда мешавад?
sobes.tech AI
Ҷавоб аз AI
Не, мумкин эмас, ки конфигурация ўзгартирилганда аниқ фрагментнинг фойдаланувчи конструктори чақириладиганига ишонч ҳосил қилиш.
Android тизими, махсус ҳолда, конфигурация ўзгартирилгандан кейин ҳолатни тиклашда, параметрларсиз (стандарт) конструктордан фойдаланиб, фрагментларни қайта ярата олади.
Шунинг учун, тавсия этилади:
- Параметрсиз стандарт конструктордан фойдаланиш.
- Параметрларни
BundleорқалиsetArguments()усули билан ўтказиш. - Параметрларни
onCreate()ёкиonCreateView()методларидаgetArguments()дан олиш.
Бу тизим томонидан фрагментнинг ҳолати тўғри тикланишини таъминлайди.
Масалан:
class MyFragment : Fragment() {
companion object {
fun newInstance(param: String): MyFragment {
val fragment = MyFragment()
val args = Bundle()
args.putString("param_key", param)
fragment.arguments = args
return fragment
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val param = arguments?.getString("param_key")
// Paramдан фойдаланиш
}
}