Junior — Middle
Vai ir iespējams būt pārliecinātam, ka iestatījumu maiņas laikā tiks izsaukts tieši lietotāja konstruktoru?
sobes.tech AI
Atbilde no AI
Nē, nav iespējams būt pārliecinātam, ka konfigurācijas izmaiņu laikā tiks izsaukts tieši lietotāja fragmenta konstruktors.
Android sistēmā sistēma var atkārtoti izveidot fragmentus, izmantojot bezparametru (standarta) konstruktoru, īpaši pēc konfigurācijas izmaiņas (piemēram, ekrāna apgriešanas).
Tādēļ ieteicams:
- Izmantot standarta bezparametru konstruktoru.
- Pārsūtīt parametrus caur
Bundle, izmantojotsetArguments()metodi. - Izvilkt parametrus
onCreate()vaionCreateView()metodēs nogetArguments().
Tas nodrošina pareizu fragmenta stāvokļa atjaunošanu sistēmas.
Piemērs:
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")
// Izmantot param
}
}