view代码
class MvvmActivity : BaseActivity<TestViewModel>() {
override fun initData(savedInstanceState: Bundle?) {
mViewModel = getViewModel<TestViewModel>()
mViewModel?.articleList?.observe(this, Observer {
LogUtils.i(it.errorCode)
})
mViewModel?.getArticles()
}
override fun initView(savedInstanceState: Bundle?): Int = R.layout.activity_mvvm
}
viewmodel代码
class TestViewModel(
private val mModel: TestModel
) : BaseViewModel() {
val articleList = MutableLiveData<ArticleBean>()
fun getArticles() {
launch {
val articles = mModel.getArticles()
articleList.postValue(articles)
}
}
}
model代码
class TestModel(context: Context) : BaseModel(context) {
suspend fun getArticles(): ArticleBean {
return apiService.getArticle()
}
}
网友评论