Skip to content

Instantly share code, notes, and snippets.

View TheBotBox's full-sized avatar
🖥️
coding

TheBotBox TheBotBox

🖥️
coding
View GitHub Profile
class MainViewModel(
private val iRepository: IRepository
) : ViewModel() {
private val _errorLiveData: MutableLiveData<String> = MutableLiveData()
val errorLiveData: LiveData<String>
get() = _errorLiveData
private val _fetchRandomQuoteLiveData: MutableLiveData<RandomQuoteResponse> = MutableLiveData()
val fetchRandomQuoteLiveData: LiveData<RandomQuoteResponse>
class MainActivity : AppCompatActivity() {
private val mBinding by viewBinding(ActivityMainBinding::inflate)
private val mViewModel by viewModel<MainViewModel>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(mBinding.root)
mBinding.viewModel = mViewModel
mViewModel.fetchRandomQuoteLiveData.observe(this, Observer { // observing response from viewmodel
<layout>
<data>
<variable
name="viewModel"
type="com.thebotbox.letsmvvm.presentation.viewmodel.MainViewModel" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"