我想几个Obserables合并成一个。我用Observable.mergeWith()方法。我的要求是要在循环中合并。问题是没有排放的订阅发送。这个问题似乎是这样,我用Observable<String> observable = Observable.never();
初始化主Observale但我没有找到合适的方式来做到这一点(尝试PublishSubject.create();
和Observable.empty();
)
import io.reactivex.Observable;
import io.reactivex.rxjavafx.observables.JavaFxObservable;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class NeverApplication extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Observable<String> observable = Observable.never();
VBox vBox = new VBox();
for (int i = 0; i < 4; i++) {
Button button = new Button("Button " + i);
vBox.getChildren().add(button);
Observable<String> clickedObservale = JavaFxObservable.actionEventsOf(button).map(event -> button.getText());
observable.mergeWith(clickedObservale);
}
stage.setScene(new Scene(vBox));
stage.show();
observable.subscribe(next -> System.out.println(next));
}
}