Cómo ocultar spinner dropdown android

Quiero ocultar la ventana emergente de spinner en el clic exterior. Si la ventana emergente está abierta y el usuario presiona la actividad de la tecla de inicio, se minimizará de modo que cuando el usuario vuelva a abrir la aplicación, el mensaje emergente de alerta debería desaparecer.
¿Hay alguna manera de lograr esto. Gracias

Editar: – La ventana emergente no se personaliza. Por lo tanto, no puedo ocultarlos en los métodos onPause o onResume .

Bueno, es un poco complicado de lo que pensaba.

Estoy agregando los detalles paso a paso aquí. Trate de seguirlo. Yo era capaz de lograr esto en api nivel 10.

Y esta solución supone que se supone que se debe cerrar el diálogo de solicitud de programación cuando el usuario hace clic en el botón Inicio o Si tuvo que pasar a la siguiente actividad sin interacción del usuario

El primer paso es crear un Spinner personalizado extendiendo la Clase Spinner. Digamos que he creado una clase llamada CustomSpinner en el paquete com.bts.sampleapp

Mi clase de CustomSpinner se parece a esto,

 package com.bts.sampleapp; import android.content.Context; import android.util.AttributeSet; import android.widget.Spinner; public class CustomSpinner extends Spinner{ Context context=null; public CustomSpinner(Context context) { super(context); this.context=context; } public CustomSpinner(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public CustomSpinner(Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onDetachedFromWindow() { super.onDetachedFromWindow(); } } 

Ahora en su archivo Xml, reemplace el elemento Spinner por este hilandero personalizado,

  <com.bts.sampleapp.CustomSpinner android:id="@+id/spin" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

El siguiente paso es inicializar y establecer el adaptador a este hilandero en su clase de actividad,

  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); CustomSpinner spin=null; spin=(CustomSpinner)findViewById(R.id.spin); spin.setAdapter(spinnerAdapter); //you can set your adapter here. } 

El paso final es cerrar el diálogo cuando el usuario hace clic en HomeButton o cuando la actividad se mueve al fondo. Para hacer esto, anulamos la onPause () como esto,

 @Override protected void onPause() { Log.i("Life Cycle", "onPause"); spin.onDetachedFromWindow(); super.onPause(); } 

Ahora dentro de la onPause () llama al método spin.onDetachedFromWindow(); Que hace el trabajo de cerrar el diálogo del aviso para usted.

También llama a spin.onDetachedFromWindow(); Desde cualquier lugar dentro de la Acitivity debe cerrar el cuadro de diálogo Spinner si está abierto.

Basado en la respuesta de Andro, es posible que prefiera la reflexión para poder llamar al método protegido onDetachedFromWindow. Entonces no tienes que subclasificar Spinner, adaptar el diseño, etc.

 /** * Hides a spinner's drop down. */ public static void hideSpinnerDropDown(Spinner spinner) { try { Method method = Spinner.class.getDeclaredMethod("onDetachedFromWindow"); method.setAccessible(true); method.invoke(spinner); } catch (Exception e) { e.printStackTrace(); } } 
  • Puede activar la actividad como tema de diálogo.
  • Anular el método onPause .

    Protected void onPause () {super.onPause (); Este.acabado (); }

Spinner.clearFocus ();

Esta es la línea simple para cerrar spinner programlytically

  • Org.json.JSONArray no se puede convertir en JSONObject (Populating spinner from webservice)
  • Lista emergente de hilandera personalizada en android
  • Cómo usar spinner
  • Android Spinner: ¿Cómo capturar cuando el usuario sale spinner dejando el valor seleccionado como-es?
  • Spinner setonitemselectedlistener no se llama
  • Múltiples hiladoras y onItemSelected
  • ¿Ya no hay ningún indicador en el hilandero de Android 4.x?
  • Establecer el elemento seleccionado de la hiladora mediante programación
  • Android: cómo invocar onNavigationItemSelected cuando se selecciona de nuevo el elemento giratorio
  • Android Spinner - ¿Cómo hacer que la vista desplegable sea transparente?
  • Cómo colorear y alinear el elemento spinner en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.