答案 0 :(得分:3)
我认为这个的常见模式是.observeOn(AndroidSchedulers.mainThread())
。使用lambdas简洁:
progressBar.setVisibility(View.VISIBLE);
Observable.create(new OnSubscribe<File()...)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnCompleted(() -> progressBar.setVisibility(invisible))
.subscribe(file -> {}, error -> reportError(error));
如果您想在完成或错误时隐藏进度条,则可以将.doOnCompleted
替换为.doOnTerminate
。
一个快速警告,你应该尽力避免Observable.create
,因为初学者背压。