如何在 android + viewModel 中进行回调
how to make callback in android + viewModel
您好,我正在尝试使用 Jetpack 的新架构组件。
那么 AsyncTask 将如何被弃用,我如何在 android 中进行回调以从后台线程获取结果。没有我的应用滞后
public void btnConfigurarClick(View v) {
btnConfigurar.setEnabled(false);
myViewModel.configurar(); // do in background resulting true or false
// how to get the result of it with a callback to set enable(true)
...
回调的概念在 ViewModel 方面被转换为 Subscribe/Publish。
从 Acvitity/Fragment,您需要订阅存在于 ViewModel 中的 LiveData。
更改将在您观察时通知。
例如:
Class SomeActivity : Activity{
fun startObservingDataChange(){
yourViewModel.someLiveData.observe(viewLifecycleOwner) { data ->
// Whenever data changes in view model, you'll be notified here
// Update to UI can be done here
}
}
}
Class SomeViewModel{
// Observe to this live data in the View
val LiveData<String> someLiveData;
// Update happens to live data in view model
}
您可以在 this 应用程序中了解有关架构组件的更多信息。
您好,我正在尝试使用 Jetpack 的新架构组件。 那么 AsyncTask 将如何被弃用,我如何在 android 中进行回调以从后台线程获取结果。没有我的应用滞后
public void btnConfigurarClick(View v) {
btnConfigurar.setEnabled(false);
myViewModel.configurar(); // do in background resulting true or false
// how to get the result of it with a callback to set enable(true)
...
回调的概念在 ViewModel 方面被转换为 Subscribe/Publish。 从 Acvitity/Fragment,您需要订阅存在于 ViewModel 中的 LiveData。 更改将在您观察时通知。
例如:
Class SomeActivity : Activity{
fun startObservingDataChange(){
yourViewModel.someLiveData.observe(viewLifecycleOwner) { data ->
// Whenever data changes in view model, you'll be notified here
// Update to UI can be done here
}
}
}
Class SomeViewModel{
// Observe to this live data in the View
val LiveData<String> someLiveData;
// Update happens to live data in view model
}
您可以在 this 应用程序中了解有关架构组件的更多信息。