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")
// Параметрди колдонуу
}
}