可观察<Drawable>到简单可绘制



我有Android应用程序的方法返回图像作为Observable。我需要这个图像在button.setDrawable(Drawable)中使用它。所以我需要简单的Drawable类型。如何从这个返回语句得到像这样的图像?

所以我需要简单的Drawable类型。如何从这里得到这样的图像返回语句?

你必须订阅ObservableSubscribe#onNext将接收Drawable作为参数。请注意,必须从Ui线程调用setButton。所以要记住观察(observeOn)到正确的线程(UI线程)。

编辑
drawableObservable
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Subscriber<Drawable>() {
        @Override
        public void onCompleted() {   
        }
        @Override
        public void onError(Throwable e) {
        }
        @Override
        public void onNext(Drawable drawable) {
        }
});

或与

 drawableObservable
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(button::setBackground, Throwable::printStackTrace);

假设你的observable是names obs:

obs.toBlocking().first()

这个会被阻塞,直到Drawable被可观察对象发出。

或者,使用subscribe()在可观察对象发出Drawable时立即获得它,而不阻塞。

如果你想在调用setDrawable()之前阻塞直到可观察对象完成,使用toBlocking。如果你想让它在可观察对象结束时发生(作为回调),subscribe

相关内容

  • 没有找到相关文章

最新更新