以下为我的代码
@POST("/hospital/department/list")
Observable<ResponseBody> list(@Body Department department);
public Observable<String> list(Department department) {
return departmentAPI.list(department)
.flatMap((Function<ResponseBody, ObservableSource<String>>) responseBody -> Observable.just(responseBody.string()));
}
private void initDepOptions() {
final ProgressDialog progressDialog = new ProgressDialog(getContext());
depDataManager.list(tDepartment)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(disposable -> {
progressDialog.setMessage(LOADING_MESSAGE);
progressDialog.show();
})
.doOnComplete(() -> progressDialog.dismiss())
.subscribe(new RxSubscriber<String>() {
@Override
public void onNext(String s) {
ApiResponse response = GsonParser.fromJSONObject(s, ApiResponse.class);
if (response.success()) {
transform2DepartmentList(response.data);
} else {
Toasty.error(getContext(), response.message, Toast.LENGTH_LONG, true).show();
}
}
});
}
我准备用其来获取服务端 json 数据并反序列化,可是这时候出现了一个问题,subscribe 中的 onNext 方法并未执行...
ps:
RxSubscriber
public class RxSubscriber<T> extends DisposableObserver<T> {
@Override
public void onNext(@NonNull T t) {
}
@Override
public void onError(@NonNull Throwable e) {
}
@Override
public void onComplete() {
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.