Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo comprobar si el cuadro de diálogo se muestra o mostrar varios cuadros de diálogo del mismo tipo?

Estoy administrando diálogos por showDialog / dismissDialog / removeDialog .

Quiero:

Mostrar varios diálogos en la clase de una pila:

A) El primer diálogo se muestra usando showDialog(DIALOG_TYPE)

B) Los cuadros de diálogo siguientes se muestran en la parte superior del diálogo existente

Ahora sólo puedo mostrar el primer diálogo usando showDialog y luego los siguientes diálogos son ignorados.

Mostrar el último cuadro de diálogo:

A) El primer diálogo se muestra usando showDialog(DIALOG_TYPE)

B) La aplicación comprueba si se muestra el cuadro de diálogo, cierra el cuadro de diálogo (si se muestra) y abre un nuevo cuadro de diálogo.

¿Existe alguna posibilidad de lograr una de las soluciones anteriores?

  • Iniciar el bloqueo de diálogos en servicio
  • Pruebas de Android: Diálogo. Compruebe que esShowing ()
  • El diálogo de búsqueda no se llama onSearchRequested ()
  • Diálogo de alerta simple de Android
  • Crear una clase general para el cuadro de diálogo personalizado en java Android
  • ¿Cómo puedo cambiar el fondo de los cuadros de diálogo de alerta de Android?
  • Android - Cómo tratar un cambio de diálogo en la orientación de pantalla
  • WebView en un cuadro de diálogo (carga de activos) y no presentado
  • 3 Solutions collect form web for “¿Cómo comprobar si el cuadro de diálogo se muestra o mostrar varios cuadros de diálogo del mismo tipo?”

    Dialog tiene un método isShowing () que debería devolver si el cuadro de diálogo está visible. Así que puedes usarlo para ver si aparece un cuadro de diálogo y ocultarlo con dismissDialog (). Sólo tienes que mantener una referencia a los diálogos que creas en onCreateDialog ().

    Usted puede utilizar el indicador para comprobar si el diálogo se abre o no y según el valor de la bandera usted puede hacer lo que usted quiere. Como yo lo hice. Estoy teniendo solamente un diálogo pero cuando toco otro EditText y si mi diálogo se abre entonces debe cerrar primero y después debe reabrir con la animación.

    Fragmento de código:

      private EditText mEditText, mEditCode; private Dialog mDialog; private int mClicked = 0; private boolean isShown = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEditText = (EditText)findViewById(R.id.EnterValue); mEditText.setClickable(true); mEditText.setOnClickListener(this); mEditCode = (EditText)findViewById(R.id.EnterCode); mEditCode.setClickable(true); mEditCode.setOnClickListener(this); } public void onClick(View nView) { switch (nView.getId()) { case R.id.EnterValue: mClicked = R.id.EnterValue; mEditText.requestFocus(); mEditText.setFocusableInTouchMode(false); mEditText.setEnabled(true); mEditText.setSelection(mEditText.getText().toString().trim().length()); if(isShown) { mDialog.dismiss(); showInfoDialog(); } else { showInfoDialog(); } break; case R.id.EnterCode: mClicked = R.id.EnterCode; mEditCode.requestFocus(); mEditCode.setFocusableInTouchMode(false); mEditCode.setEnabled(true); mEditCode.setSelection(mEditCode.getText().toString().trim().length()); if(isShown) { mDialog.dismiss(); showInfoDialog(); } else { showInfoDialog(); } break; } } private boolean showInfoDialog() { mDialog = new Dialog(CustomKeyboardNotLikeAndroidActivity.this, R.style.PauseDialog); mDialog.setContentView(R.layout.keyboard); mDialog.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation; mDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); mDialog.setCancelable(true); isShown = true; mDialog.show(); return false; } 

    Trate de alterar este código en su camino. Espero que esto le pueda ayudar. Gracias.

    Dialog implementa DialogInterface que tiene OnShowListener .

    Por lo tanto, puede utilizar código como este:

     Dialog dialog = new Dialog(context); // ... set all things considering your dialog dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface dialog) { // do something when your dialog is shown } }); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.