Reputation: 73
How to use shared viewmodel in MVI architecture? Is it actually used to communicate between fragments, or do we use an interface, or a broadcast receiver? That part is not clear to me, and I can't find it anywhere. What is best practice? Thanks all
Upvotes: 0
Views: 483
Reputation: 1520
You should use MVVM architecture, Take a reference from below code it will help you.
//Fragment A
class FragmentA:Fragment {
private lateinit var viewModel:LoginViewModel
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel =
ViewModelProvider(requireActivity()).get(LoginViewModel::class.java)
}
}
//Fragment B
class FragmentB:Fragment {
private lateinit var viewModel:LoginViewModel
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel =
ViewModelProvider(requireActivity()).get(LoginViewModel::class.java)
}
}
//This is share viewModel class
class LoginViewModel: ViewModel{
}
Upvotes: 0