0
我是新來使用RxJava和我有問題,我怎麼能改變我的新回調從RxJava的改造?RxJava而不是改造回調
我的工作代碼是在這裏:
Service service = new Retrofit.Builder()
.baseUrl("lalala")
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(Service.class);
此後,我寫
Call<Board> call = service.getBoard("lalala");
call.enqueue(new Callback<Board>() {
@Override
public void onResponse(Call<Board> call, Response<Board> response) {
if (response.isSuccessful()) {
recyclerView.setAdapter(new BoardAdapter(MainActivity.this, response.body().getThreads()));
}
}
@Override
public void onFailure(Call<Board> call, Throwable t) {
Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
}
});*/
但是,當我想用它RxJava,我不知道如何做到這一點。我試過了。
service.getRxBoard(boardq)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Board>() {
@Override
public void accept(Board board) throws Exception {
recyclerView.setAdapter(new BoardAdapter(MainActivity.this, board.getThreads()));
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
}
});
而且它不起作用。我得到一個例外:
java.lang.RuntimeException: Unable to start activity ComponentInfo
Unable to create call adapter for io.reactivex.Observable