Junior — Middle
Πώς μπορεί να περαστούν παράμετροι κατά την αρχικοποίηση ενός Fragment στο Android;
sobes.tech AI
Απάντηση από AI
Οι παράμετροι κατά την αρχικοποίηση ενός Fragment στο Android συνήθως περνούν μέσω ενός αντικειμένου Bundle, το οποίο ορίζεται στο Fragment με τη χρήση της μεθόδου setArguments(). Αυτό γίνεται ώστε οι παράμετροι να διατηρούνται κατά την επαναδημιουργία του fragment από το σύστημα.
Παράδειγμα δημιουργίας ενός fragment με παραμέτρους:
class MyFragment : Fragment() {
companion object {
private const val ARG_PARAM = "param"
fun newInstance(param: String): MyFragment {
val fragment = MyFragment()
val args = Bundle()
args.putString(ARG_PARAM, param)
fragment.arguments = args
return fragment
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val param = arguments?.getString(ARG_PARAM)
// Χρησιμοποιήστε το param όπως χρειάζεται
}
}
Έτσι, κατά τη δημιουργία του fragment, καλείται η στατική μέθοδος newInstance, η οποία συσκευάζει τις παραμέτρους σε ένα Bundle και τις ορίζει στο fragment. Αυτή είναι η τυπική και συστηνόμενη μέθοδος για τη μεταφορά παραμέτρων σε fragments.