naj*_*ajm 5 java android mvvm viewmodel android-architecture-components
对于我的应用程序,我有核心类的基本实现,可以处理大部分样板代码。两个这样的实现是BaseActivity和BaseViewModel。它BaseViewModel仅具有 getter 和 setter,SingleLiveEvent<Boolean>可通过以下方式访问BaseActivity:
BaseActivity:
public class BaseActivity extends AppCompatActivity {
/* Some random variables */
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BaseViewModel viewModel = ViewModelProviders.of(this).get(BaseViewModel.class);
// Observe loading state
viewModel.getLoadingEvents().observe(this, showLoading -> {
if (showLoading != null) {
showLoadingState(showLoading);
}
});
// Observer error events
viewModel.getErrorEvents().observe(this, throwable -> {
if (throwable != null) {
Alerts.displayError(this, throwable.getLocalizedMessage());
}
});
}
/* Some random methods */
}
Run Code Online (Sandbox Code Playgroud)
现在我还有其他活动(例如MainActivity)从 延伸而来BaseActivity。我假设既然MainActivity扩展了BaseActivity前面提到的生命周期观察者也会自动申请MainActivity。然而,事实并非如此。只有当我将观察者MainActivity从BaseActivity
基本上,我要问的是如何将观察者逻辑保留在 BaseActivity 中并使其正确应用于所有扩展类?
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |