diff --git a/src/main/java/ru/touchin/roboswag/core/observables/collections/ObservableCollection.java b/src/main/java/ru/touchin/roboswag/core/observables/collections/ObservableCollection.java index 739f2f4..36f2dd1 100644 --- a/src/main/java/ru/touchin/roboswag/core/observables/collections/ObservableCollection.java +++ b/src/main/java/ru/touchin/roboswag/core/observables/collections/ObservableCollection.java @@ -65,11 +65,10 @@ public abstract class ObservableCollection implements Serializable { @NonNull private Observable> createItemsObservable() { return Observable - .>create(subscriber -> { - subscriber.onNext(getItems()); + .>switchOnNext(Observable.create(subscriber -> { + subscriber.onNext(observeChanges().map(changes -> getItems()).startWith(getItems())); subscriber.onCompleted(); - }) - .switchMap(initialItems -> observeChanges().map(changes -> getItems()).startWith(initialItems)) + })) .replay(1) .refCount(); }