¿Cómo administrar un DialogFragment con RxJava?
He estado tratando de determinar si es posible crear un DialogFragment
observable. Esencialmente, quiero ser capaz de:
- Crear y mostrar un
DialogFragment
- Obtener una rx
Observable
que se puede suscribir para el resultado (ok / canceló presionado, Entrada de cadena, éxito de la tarea de fondo / fracaso, etc) - Manejar correctamente el cambio de configuración
Hasta ahora lo más cercano que he encontrado es ReactiveDialog
, que solía ser parte de RxAndroid, pero se ha eliminado de RxAndroid en v1.0.0 como parte de la simplificación de RxAndroid.
- Obtenga el código de estado de la respuesta utilizando Retrofit 2.0 y RxJava
- RXJava - buffer observable 1 hasta que se pueda observar 2 emite un elemento
- Prueba de desplazamiento sin fin RecyclerView con Espresso y RxJava
- Desbordamiento de pila al utilizar Retrofit rxjava concatWith
- RXJava cómo tratar de conseguir después de x tiempo
Aunque ReactiveDialog
parece cumplir con mis dos primeros criterios, no parece manejar el cambio de configuración. Hay dos aspectos a considerar:
- El
DialogFragment
debe mantener suObservable
través del cambio de configuración para poder notificar a los suscriptores de su estado. - El suscriptor (s) debe ser capaz de mantener su suscripción o volver a suscribirse después de un cambio de configuración (obviamente, sin producir una pérdida de memoria).
Todavía soy bastante nuevo en RxJava, así que todavía estoy tratando de envolver mi cabeza alrededor de cómo se podría manejar algo como esto. Parece que debería ser posible, pero me siento como si fuera necesario un administrador estático o Observable
singleton y, posiblemente, retainedInstance
DialogFragments
.
¿Alguien tiene sugerencias o mejores prácticas para esto?
- Reino se cierra
- convertir a lambda de rx java expresión
- ¿Por qué necesita onBackpressure () aquí para eventos de clic?
- RxJava / Android: Combina el resultado de dos dependientes dependientes
- Retrofit no puede crear adaptador de llamada
- RxJava onCompleted y onTerminate en el hilo principal
- RxJava se vuelve a suscribir al evento tras la restauración de la actividad
- RxJava: encadenamiento de observables
Hay dos problemas aquí; Uno es que usted no quiere perder objetos Java durante relayout – mirar en el tiempo de ejecución cambios docs acerca de eso.
La otra cuestión es que desea crear un observable que tiene la acción del diálogo, cuando se activa esa acción. Para ello, eche un vistazo a los documentos RxJava, el ejemplo Asynchronous Observer . Tendrá que crear un Observable.OnSubscribe
, y pasar ese Subscriber
a su código que llamará a las llamadas necesarias onNext
/ onError
/ onCompleted
.
- ¿Cómo puedo autenticar a mis aplicaciones webservice después de usar Facebook SSO en Android?
- Obfuscate campos privados con ProGuard