Ma2*_*340 4 android kotlin android-livedata
我有一个带有按钮的视图 -
我的查看代码 -
private val viewModel: MyViewModel by viewModel()
override fun onCreateView(...): View? {
//Button click
view.getMyData.setOnClickListener {
viewModel.onGetDataClicked.observe(this, Observer {
view?.progressBar?.isVisible = it.loading
view?.description?.text = it.data.value
})
}
return view
}
Run Code Online (Sandbox Code Playgroud)
我的视图模型代码 -
val viewState = MyViewState()
val onGetDataClicked =
Transformations.map(myDomain.getData(MyAction.GetMyDataAction)) {
when (it) {
is MyResult.Loading -> viewState.copy(loading = true, error = null)
is MyResult.Success -> viewState.copy(
loading = false,
data = it.data,
error = null
)
is MyResult.Error -> viewState.copy(
loading = false,
error = it.error
)
else -> viewState.copy(loading = false)
}
}
Run Code Online (Sandbox Code Playgroud)
这是 MyViewState() 的代码 -
data class MyViewState(
val loading: Boolean = false,
val data: MyModel = MyModel(),
val error: MyResult.ErrorType? = null
) : ViewState
Run Code Online (Sandbox Code Playgroud)
当我打开应用程序并单击按钮时,调用将转到视图模型,然后从那里转到域,然后我观察我的数据。但在第二次单击按钮时,从我的角度来看,根本没有调用视图模型。可能是什么问题呢?
| 归档时间: |
|
| 查看次数: |
3444 次 |
| 最近记录: |