¿Es posible mostrar varios cuadros de diálogo uno sobre otro? ¿Hay algo como Dialog Z-Level? Estoy usando DialogFragment donde el usuario elige elementos, cuando confirma su elección, se guarda en la base de datos y se envía al servidor. si falla la acción de guardado, me gustaría informar al usuario con ... ¿otro diálogo es posible? ¿Y no se borrará mi primer diálogo? Gracias de antemano.Android: ¿Puedo mostrar varios cuadros de diálogo uno sobre otro? ¿Hay algo como Dialog Z-Level?
Respuesta
De hecho, es posible mostrar varios Fragmentos de diálogo uno dentro de otro. El orden z depende del orden en que se crean.
En el siguiente código hay un ejemplo de FragmentActivity con el comportamiento que necesita.
public class MyActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
//...
}
public void onSave(View view) {
Intent intent = getIntent();
this.setResult(RESULT_OK, intent);
finish();
}
public void onCancel(View view) {
finish();
}
public void SelectWeekDay(View view) {
DialogFragment selectWeekDayFragment = new SelectWeekDayFragment();
selectWeekDayFragment.show(getSupportFragmentManager(), "WeekDayDialog");
}
public class SelectWeekDayFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.week_day_dialog, container, true);
Button saveButton = (Button) view.findViewById(R.id.button_save);
saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox checkboxMonday = (CheckBox) getDialog().findViewById(R.id.checkBox_monday);
if (!checkboxMonday.isChecked()) {
DialogFragment saveErrorFragment = new SaveErrorFragment();
saveErrorFragment.show(getSupportFragmentManager(), "SaveErrorFragment");
}
else {
SaveToDb(); //Perform actions to store on db or what you wish
dismiss();
}
}
});
Button cancelButton = (Button) view.findViewById(R.id.button_cancel);
cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
return view;
}
}
public class SaveErrorFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
.setMessage("You must select Monday").setPositiveButton("Ok", null).create();
}
}
}
Mi consejo es usar un diseño personalizado con un ViewFlipper dentro de su cuadro de diálogo para que pueda cambiar fácilmente entre una barra de progreso o los diseños diferentes que quiera mostrar. Si desea mostrar varios cuadros de diálogo, creo que el orden z depende del orden en que se crearon, el último mensaje que se muestra en la parte superior.
Por lo general, puede tener un poco de cuidado. Utilice el ciclo de vida del diálogo para su ventaja para evitar los efectos secundarios. Por ejemplo: puede verificar una función como onStop() para ver si el cuadro de diálogo secundario está abierto, y si es así, ciérrelo.
Idealmente, reducir la cantidad de capas de cuadros de diálogo que tiene es ideal, siempre y cuando esté en forma (por ejemplo: terminar siendo cientos de líneas de código más)
- 1. Comunicación entre fragmentos/cuadros de diálogo en android
- 2. Establecer varios cuadros de texto en un cuadro de diálogo en android
- 3. jQuery UI closeOnEscape de diálogo no funciona para varios cuadros de diálogo abiertos
- 4. Android Cloud Printing sin cuadros de diálogo
- 5. ¿Cómo puedo mostrar mi actividad como un diálogo en Android?
- 6. Problema con varios cuadros de diálogo modales usando Delphi XE
- 7. cuadros de diálogo personalizados Problema
- 8. jQuery diálogo sobre el contenido de otro sitio
- 9. ¿Cómo crear controles como los cuadros de diálogo en Ember?
- 10. ¿Cómo puedo mostrar un diálogo sobre la actividad actualmente visible en android?
- 11. ¿Cómo comprobar si se muestra el cuadro de diálogo o mostrar varios cuadros de diálogo del mismo tipo?
- 12. ¿Hay algo como NSDictionary en Android?
- 13. Android - Cómo descartar todos los cuadros de diálogo en onPause
- 14. Aceptar cancelar Dialog MVVM Pattern wpf.¿Cómo puedo hacerlo?
- 15. Cómo crear cuadros de diálogo TinyMCE?
- 16. ¿Hay algo así como TimeSpan en el desarrollo de Android?
- 17. android asyncTask dialog Circle
- 18. android dialog activity position
- 19. iOS extrayendo cuadros de video como imágenes
- 20. Diálogo personalizado de Android como 'Contacto rápido'
- 21. Android Animation uno después de otro
- 22. Cómo encontrar todos los cuadros de diálogo en JQuery
- 23. ¿Hay algo como "+ =" en SASS?
- 24. no puedo mostrar la lista en un cuadro de diálogo con setMultiChoiceItems en Android
- 25. jQuery UI Dialog Estilo de CSS individual
- 26. Diálogo de Android personalizado
- 27. Interfaz de diálogo Android obtener vistas de diálogo interno
- 28. Cómo cerrar Message Dialog programmatically
- 29. Ventajas de Erlang sobre (algo así como) node.js?
- 30. Cómo eliminar cuadros de diálogo de JQuery del DOM