(首先,虽然我认为这是一个与一般Rx
编程相关的问题,但由于我正在开发Android
并使用RxJava
,因此以下问题将在Android
和RxJava
上下文。)
我是RxJava
的新手,因此我想先以一种简单的方式实现它。
方案
我有一个表单,我想只在填写表单中的所有必填字段时才启用该按钮 我已经设法为所有EditText
输入实现此功能。
现在,我的表格也有图像选择
因此,我有一个Bitmap
变量,用于存储用户选择的图像
由于此图片也是必需的,因此我只需在Bitmap
变量不是null
的情况下启用该按钮。
问题
所以,我在想的是,从这个Observable
变量创建一个Bitmap
,当它的值被更新时,它将自行发出(或者至少是Boolean
)。< / p>
然后很快,我找到一些建议使用BehaviorSubject
的StackOverflow帖子。
问题是,在我读过的每个Rx入门教程中,Subject
都没有被提及。甚至在Rx的官方网站上,它还有一篇文章a link来说明
“[主题]是Rx世界的”可变变量“,并且在大多数情况下 你不需要的情况。“
所以,我开始怀疑我是否真的应该使用Subject做我想做的事。我怀疑可能是我应该从更新变量的函数创建一个Observable。
然后我被困住了。我怎么能这样做?
答案 0 :(得分:2)
这种情况很少见,BehaviorSubject
是合适的。您可以onNext
上面的图片通知观察者,然后您可以getValue()
直接访问此图片。