我尝试使用 RxJava2 遵循 MVP 设计模式。我是新手。当我从 API 请求数据时,在我的 Presenter 中我这样调用我的模型:
mModel.getDataFromAPI()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(data -> {
// Do something with the data
}, throwable -> {
// A wild error appears!
// TODO: Display a dialog
});
当出现错误时,我想向用户显示一个带有消息的对话框。
所以我在想的是displayErrorDialog(String message)
在视图上创建一个。但问题是:我在应用程序的任何地方都调用了 API,所以这意味着我的所有视图都必须实现该方法!
该对话框需要由视图显示:
- 遵循MVP设计模式
- 因为我需要当前的上下文来显示对话框。
我正在寻找一种更好的解决方案,以便不必在每次有新视图时都实施相同的方法。