class Fragment : Fragment() {
private lateinit var binding: _FragmentBinding
private val myViewModel: MainViewModel by activityViewModels()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = _FragmentBinding.inflate(inflater, container, false)
val view = binding.root
binding.apply {
viewModel = myViewModel
lifecycleOwner = activity
}
return view
}
}
FragmentPattern
The Fragment class contains a _FragmentBinding variable that references a _FragmentBinding object obtained from the activity's viewModel. This _FragmentBinding object is used to obtain a reference to the MainViewModel, which is then used to initialize the myViewModel variable. Finally, the code overrides onCreateView() to assign the view obtained from the _FragmentBinding as the view model.
0 Comments
Add Comment
Log in to add a comment