Junior — Middle
Оё имкон дорад истифодаи аргументҳоро дар конструктор барои Fragment дар Android амалӣ кард?
sobes.tech AI
Ҷавоб аз AI
Дар Android, истифодаи конструкторҳо бо аргументҳо барои Fragment тавсия дода намешавад, зеро система метавонад ҳар вақте ки хост, фармониро бо ёрии даъвати конструктори бе параметрҳо такрор кунад.
Роҳи дуруст барои гузаронидани маълумот ба Fragment истифодаи методи setArguments(Bundle) ва гирифтани маълумот тавассути getArguments() дар дохили фрагмент мебошад.
Масалан, сохтани фрагмент бо аргументҳо:
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
}
}
Бо ҳамин, маълумотҳо дар Bundle нигоҳ дошта мешаванд ва системаи дуруст онҳоро ҳангоми такрорсозии фрагмент барқарор мекунад.