我想将RxJava与MVVM一起使用,但我不明白为什么它不通过我的Response类来响应CompositeDisposable
我想处理过去的RxJava,但我不知道如何将CompositeDisposable与]链接>
LiveData
...
LiveData public LiveData <HomeResponse> setMenu() { final MutableLiveData <HomeResponse> data = new MutableLiveData <>( ); compositeDisposable.add(apiRequest.getMenu() .subscribeOn( Schedulers.io()) .observeOn( AndroidSchedulers.mainThread()) .subscribe( new Consumer <Response<HomeResponse>>() { @Override public void accept(Response<HomeResponse> registrationModelResponse) throws Exception { data.setValue(registrationModelResponse.body()); } })); return data; }
.....响应类:
public class HomeResponse { @SerializedName("status") @Expose private String status; @SerializedName("totalResults") @Expose private Integer totalResults; @SerializedName("Menu") @Expose private List <MainMenu> MainMenu = null; public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Integer getTotalResults() { return totalResults; } public void setTotalResults(Integer totalResults) { this.totalResults = totalResults; } public List<MainMenu> getMainMenu() { return MainMenu; } public void setAUsers(List<MainMenu> MainMenu) { this.MainMenu = MainMenu; } }
.....我的API:
@GET("getmenu.php") Observable<List <HomeResponse>> getMenu();
..........错误听到...
.subscribe( new Consumer <Response<HomeResponse>>() {
@Override
public void accept(Response<HomeResponse>
registrationModelResponse) throws Exception {
data.setValue(registrationModelResponse.body());
}
}));
我想将RxJava与MVVM一起使用,但我不明白为什么它不对我的Response类响应CompositeDisposable,所以我想对付RxJava,但我不知道如何链接...
我认为您可能会混淆如何处理LiveData
。
通常,如果您想从LiveData
中获得价值,则您的活动或片段就是需要观察它的对象。像这个例子。