Michael
Michael

Reputation: 73

Shared ViewModel in MVI

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

Answers (1)

Dharmender Manral
Dharmender Manral

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

Related Questions