Я пытался определить, возможно ли создать наблюдаемый DialogFragment
. По сути, я хочу иметь возможность:
- Создайте и покажите
DialogFragment
- Получить обратно rx
Observable
, на который можно подписаться на результат (ОК/отменить нажатие, ввод строки, успех/неудача фоновой задачи и т.д.). - Правильно обрабатывать изменение конфигурации
До сих пор ближайшая вещь, которую я нашел, ReactiveDialog
, которая раньше была частью RxAndroid, но была удален из RxAndroid в версии 1.0.0 как часть упрощения RxAndroid.
В то время как ReactiveDialog
действительно соответствует моим первым двум критериям, он, похоже, не обрабатывает изменение конфигурации. Существует два вопроса:
-
DialogFragment
должен поддерживатьObservable
при изменении конфигурации, чтобы он мог уведомлять подписчиков о своем состоянии. - Абонент должен иметь возможность либо удерживать подписку, либо повторно подписываться после изменения конфигурации (очевидно, без возникновения утечки памяти).
Я все еще довольно новичок в RxJava, поэтому я все еще пытаюсь обвести голову тем, как вы справитесь с чем-то подобным. Похоже, это должно быть возможно, но я чувствую, что для этого потребуется статический или singleton Observable
менеджер и, возможно, retainedInstance
DialogFragments
.
У кого-нибудь есть предложения или рекомендации для этого?