Junior — Middle
Waarom worden argumenten doorgegeven in de methode voor het maken van een Fragment en hoe beïnvloedt dit de werking ervan?
sobes.tech AI
Antwoord van AI
In Android wordt meestal de methode setArguments(Bundle) gebruikt om gegevens aan een Fragment door te geven bij het maken ervan. Dit stelt je in staat om argumenten in te stellen die het fragment op elk moment in zijn levenscyclus kan ophalen via getArguments().
Het doorgeven van argumenten via een Bundle is belangrijk omdat:
- Argumenten worden opgeslagen en hersteld door het systeem bij het opnieuw maken van het fragment (bijvoorbeeld bij schermrotatie).
- Dit zorgt voor een correcte herstel van de toestand van het fragment zonder dat je gegevens in onstabiele velden hoeft op te slaan.
- Het maakt het mogelijk om fragmenten met verschillende parameters te maken, waardoor ze veelzijdiger worden.
Voorbeeld van het maken van een fragment met argumenten:
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
// Gebruik userId
}
}
Op deze manier zorgen argumenten voor een veilige en handige overdracht van gegevens naar het fragment en voor het behoud ervan bij het opnieuw maken ervan.