Sobes.tech
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.