सभी कोटलिन डेवलपर्स के लिए वहाँ:
अपने फ्रैगमेंट (= जब आप फ़ाइल के साथ एक रिक्त-फ़्रैगमेंट बनाते हैं -> नया -> फ़्रैगमेंट -> फ़्रैगमेंट - (ब्लैंक) के साथ डेटा भेजने के लिए एंड्रॉइड स्टूडियो द्वारा प्रस्तावित समाधान यहां दिया गया है और आप "फ़्रेग्मेंट फ़ैक्टरी विधियों को शामिल करें") की जाँच करें।
इसे अपने फ्रैगमेंट में रखें:
class MyFragment: Fragment {
...
companion object {
@JvmStatic
fun newInstance(isMyBoolean: Boolean) = MyFragment().apply {
arguments = Bundle().apply {
putBoolean("REPLACE WITH A STRING CONSTANT", isMyBoolean)
}
}
}
}
.apply
जब कोई वस्तु बनाई जाती है, या जब वे यहां आते हैं , तो डेटा सेट करने के लिए एक अच्छी चाल है :
निर्दिष्ट फ़ंक्शन [ब्लॉक] this
को उसके रिसीवर और रिटर्न this
वैल्यू के रूप में मान के साथ कॉल करता है ।
फिर आपकी गतिविधि या फ्रैगमेंट में:
val fragment = MyFragment.newInstance(false)
... // transaction stuff happening here
और इस तरह के रूप में अपने टुकड़े में तर्क पढ़ें:
private var isMyBoolean = false
override fun onAttach(context: Context?) {
super.onAttach(context)
arguments?.getBoolean("REPLACE WITH A STRING CONSTANT")?.let {
isMyBoolean = it
}
}
अपनी गतिविधि पर डेटा वापस भेजने के लिए , बस अपनी गतिविधि में एक फ़ंक्शन को परिभाषित करें और अपने फ्रेग्मेंट में निम्नलिखित कार्य करें:
(activity as? YourActivityClass)?.callYourFunctionLikeThis(date) // your function will not be called if your Activity is null or is a different Class
कोटलिन के जादू का आनंद लें!