Actualizar el fragmento cuando se desactiva el diálogo
¿Hay alguna manera que puedo detectar cuando se desactiva un DialogFragment, para que pueda actualizar su fragmento padre?
- Algunos fragmentos se pierden en rotación
- Las vistas de texto en un diseño de fragmento no cambian al llamar a SetText ()
- ¿El SDK de Facebook sólo funciona con Actividades?
- Activa el botón de inicio ActionbarSherlock, Sherlockfragment
- Cómo implementar la vista de búsqueda en la actividad (barra de acciones) cuando existe la vista de lista en el fragmento
- Detenga el foco de dpad saliendo del fragmento actual en android
- Fragmento onCreateView y onActivityCreated llamado dos veces
- No se puede utilizar las pestañas con Sherlock
- DataPicker se ve como diseño antiguo en la nueva API, así
- Error de Android inflar clase SwipeRefreshLayout
- ¿Cómo cambiar el indicador de tablayout de arriba a abajo?
- ViewPager establece la página actual por programación
- ¿Cómo puedo poner títulos en ViewPager usando fragmentos?
Puede agregar un oyente y anular el diálogo onDismiss de su fragmento:
public class DismissDialog extends DialogFragment { private DialogInterface.OnDismissListener onDismissListener; public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) { this.onDismissListener = onDismissListener; } @Override public void onDismiss(DialogInterface dialog) { super.onDismiss(dialog); if (onDismissListener != null) { onDismissListener.onDismiss(dialog); } } }
Entonces, en el padre, usted fija un oyente:
DismissDialog d = new DismissDialog(); d.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { } }); d.show(getSupportFragmentManager(), "sometag");
Anule onDismiss () de DialogFragment, o cuando construya el diálogo subyacente, defina un listener con setOnDimissListener () .
Una forma de lidiar con esto es incrustar el DialogFragment dentro de una Actividad y mostrar la actividad como un Diálogo, hay un consejo en el siguiente enlace que explica cómo:
http://developer.android.com/guide/topics/ui/dialogs.html
Puede utilizar esto para actualizar el fragmento subyacente porque cuando se termina el cuadro de diálogo (que es una actividad), onResume () se llamará en el fragmento subyacente. Agregue código para actualizar el estado del fragmento en el método onResume () y eso es todo lo que hay demasiado.
Acabo de resolver esto en mi proyecto. Lo que tengo es una actividad con un ListFragment. En ese fragmento de lista, cuando se hace clic en un elemento en particular, se muestra un DatePickerFragment (un DialogFragment personalizado que muestra un DatePickerDialog). Cuando se selecciona una fecha, quiero que se actualice el ListFragment.
Para lograr esto, en la actividad que aloja el ListFragment (y también alberga el DatePickerFragment, de hecho) implementé un método que simplemente reemplaza el ListFragment con una nueva instancia, así:
public void criteriaChanged() { getFragmentManager().beginTransaction() .replace(R.id.container, new FilterFragment()) .commit(); }
Llamo a este método desde el DatePickerFragment, desde onDateSet ():
FilterActivity fa = (FilterActivity) getActivity(); fa.criteriaChanged();
Esto hace el truco para mí.
- ¿Cómo agregar TextView en medio de pulgar SeekBar?
- Cómo configurar scrollbar pulgar mediante programación en Android?