Android – ¿por qué no se cerraría diálogo a dialog.dismiss ()

Tengo un poco de un extraño problema. Cuando se inicia una actividad, muestro un diálogo diciendo que algunos elementos se cargan de esta manera:

Dialog dialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.topic_edit); dialog = new Dialog (this); dialog.setContentView(R.layout.please_wait); dialog.setTitle("Loading The Comment."); TextView text = (TextView) dialog.findViewById(R.id.please_wait_text); text.setText("Please wait while the comment loads..."); dialog.show(); 

Declaro Diálogo diálogo justo antes de la declaración de la clase, y luego cada vez que intento descartarlo con dialog.dismiss(); No se cierra.

Aquí está el archivo please_wait.xml

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/please_wait_text" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> 

¿Alguien sabe por qué el diálogo no cierra en dialog.dismiss() … Intento el descartar en una llamada asíncrona después de la llamada vuelve. Pero he comprobado, y la línea dialog.dismiss() se ejecuta, sólo por alguna razón no cierra el diálogo.

Así es como intento descartar el diálogo:

 @Override protected void onPostExecute(String result) { dialog.dismiss(); } 

Asegúrese de que cuando está ejecutando dialog.dismiss que está apuntando al diálogo que ha creado. Usted tiene diálogo como una variable de clase y hay una alta probabilidad de que se le asignó otro diálogo por el momento de la despedida venir. Tuve este y resultó que la variable de diálogo en el momento de despedir ya no estaba apuntando a mi diálogo en realidad.

Poner un punto de interrupción y ver si la variable de diálogo sobre la creación / ejecución sigue siendo el mismo probablemente ayudará

Tratar

 Context mContext = getApplicationContext(); Dialog dialog = new Dialog(mContext); 

De acuerdo con la documentación debe ser la forma correcta de declarar un diálogo.

  • Android: El editor XML predeterminado ya no se abre
  • Alineación de múltiples TextView dentro de CardView nuevo
  • Inflación de diseño en control personalizado - ¿cómo?
  • Crear efecto de fondo transparente borroso
  • Android: cómo hacer crecer una vista para llenar el espacio disponible?
  • Excepción de puntero nulo al llamar a la medida en el diseño inflado
  • Cómo configurar el encabezado y el pie de página para el diseño lineal en android
  • ¿Cuál es el color predeterminado del fondo de diálogo de relleno?
  • ¿Calidad de video en android?
  • Webview dentro de un paginador de vista en android
  • Disposición de Android: expandir ImageView para rellenar el ancho, pero no mayor?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.