我有這個(gè)定制的 SingleObserver 類:public abstract class SubscribeWithView<T> implements SingleObserver<T>,Disposable { private WeakReference<RootView> rootView; /** * <p style="color:blue;">set view from presenter</p> * * @param rootView *{@link RootView} */ public SubscribeWithView(RootView rootView) { this.rootView = new WeakReference<>(rootView); } ...}所以我在 API 存儲(chǔ)庫(kù)接口類中使用以下代碼:@POST(ApiAddress.USER_LOGIN) Single<Response<UserWithToken>> userLogin(@Body UserLogin_request userLogin_request);我的問題是:如何更改此代碼:.subscribe(new SubscribeWithView<Response<UserWithToken>>(view) { @Override public void onSuccess(Response<UserWithToken> response) { } @Override public void onError(Throwable e) { super.onError(e); }像這樣 lambda 嗎?apiRepository.userLogin(request) .subscribe(new SubscribeWithView<Response<UserWithToken>>(view) { response->{},e->{});
2 回答

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以像這樣使用 Rxjava single 而不是改造單個(gè):
你的界面:
@GET("somehing")
Single<UserWithToken> getUserWithTokenFromServer(@Query("something") String something);
您的實(shí)施:
apiClient.getUserWithTokenFromServer("123456")
.subscribe(UserWithToken -> {
// handle data fetched successfully and API call completed
},Throwable::printStackTrace);
添加回答
舉報(bào)
0/150
提交
取消