Max*_*hik 3 java android subject rx-java2
我设法以这种方式创建它:
private final PublishSubject<Void> subject = PublishSubject.create();
Run Code Online (Sandbox Code Playgroud)
但是如何将价值传递给它onNext(T t)呢?我无法将null传递给它,因为它会抛出异常.onComplete也不是一个选择.
在2.x中通常不允许空值,因此Void类型不会让你发出任何onNext(null)不像1.x. 如果您认为自己需要Void作为元素类型,则表明您不关心哪些元素只是您想要反复做出反应.
对于这种情况,您可以使用任何其他类型并发出任何值的信号.在wiki中有一个你可以适应的例子:
enum Irrelevant { INSTANCE; }
PublishSubject<Irrelevant > source = PublishSubject.create();
source.subscribe(e -> { /* Ignored. */ }, Throwable::printStackTrace);
source.onNext(Irrelevant.INSTANCE);
source.onNext(Irrelevant.INSTANCE);
Run Code Online (Sandbox Code Playgroud)