बस मैं यह दिखाना चाहता हूं कि कोटलिन में जो लोग कोटलिन का उपयोग करते हैं उनके लिए @JafarKhQ क्या करते हैं, जो उनकी मदद कर सकते हैं और थीम समय भी बचा सकते हैं:
इसलिए आपको नए newInstance फ़ंक्शन बनाने के लिए एक साथी objet बनाना होगा
आप जो कुछ भी चाहते हैं, उस फंक्शन का paremter सेट कर सकते हैं। का उपयोग करते हुए
val args = Bundle()
आप अपने args सेट कर सकते हैं।
अब आप का उपयोग args.putSomthing
करने के लिए आप का उपयोग कर सकते हैं जो आप अपने newInstance फ़ंक्शन में एक व्यास के रूप में दे।
putString(key:String,str:String)
उदाहरण के लिए स्ट्रिंग जोड़ने के लिए और इतने पर
अब उस तर्क को प्राप्त करने के लिए जिसका आप उपयोग कर सकते हैं
arguments.getSomthing(Key:String)
=> काarguments.getString("1")
यहाँ एक पूर्ण उदाहरण है
class IntervModifFragment : DialogFragment(), ModContract.View
{
companion object {
fun newInstance( plom:String,type:String,position: Int):IntervModifFragment {
val fragment =IntervModifFragment()
val args = Bundle()
args.putString( "1",plom)
args.putString("2",type)
args.putInt("3",position)
fragment.arguments = args
return fragment
}
}
...
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
fillSpinerPlom(view,arguments.getString("1"))
fillSpinerType(view, arguments.getString("2"))
confirmer_virme.setOnClickListener({on_confirmClick( arguments.getInt("3"))})
val dateSetListener = object : DatePickerDialog.OnDateSetListener {
override fun onDateSet(view: DatePicker, year: Int, monthOfYear: Int,
dayOfMonth: Int) {
val datep= DateT(year,monthOfYear,dayOfMonth)
updateDateInView(datep.date)
}
}
}
...
}
अब आप अपना संवाद कैसे बना सकते हैं आप किसी अन्य कक्षा में इस तरह से कुछ कर सकते हैं
val dialog = IntervModifFragment.newInstance(ListInter.list[position].plom,ListInter.list[position].type,position)
उदाहरण के लिए इस तरह
class InterListAdapter(private val context: Context, linkedList: LinkedList<InterItem> ) : RecyclerView.Adapter<InterListAdapter.ViewHolder>()
{
...
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
...
holder.btn_update!!.setOnClickListener {
val dialog = IntervModifFragment.newInstance(ListInter.list[position].plom,ListInter.list[position].type,position)
val ft = (context as AppCompatActivity).supportFragmentManager.beginTransaction()
dialog.show(ft, ContentValues.TAG)
}
...
}
..
}