¿Cómo hacer una lista emergente como un hilandero sin el hilador en androide?

Tengo un widget spinner en mi actividad que permite a los usuarios escoger un nombre de lista.

Normalmente, la función de la hiladora es cambiar entre las listas, pero para un par de instancias, intercambiar el oyente de cambio de selección para realizar una función diferente con la misma lista de opciones. Una vez hecha la selección, el viejo oyente es restaurado y la vida continúa.

Este es un acuerdo malo y con errores. En su lugar, me gustaría tener una función que sólo tiene un oyente de selección y algunos otros parámetros y muestra una lista emergente que está poblada por el mismo cursor (o cursor y idéntico) como el hilandero, sin utilizar el propio hilandero.

¿Hay alguna manera de que pueda hacer esto?

Utilice AlertDialog.Builder y suministre un Adapter través de setAdapter() que genera sus filas.

En su caso, no usaría el mismo Cursor , ya que un Cursor tiene una noción intrínseca de la fila actual, y así jugar con el Cursor mientras es usado por su SpinnerAdapter podría SpinnerAdapter el Spinner . Vaya con un Cursor idéntico.

Este es el mejor ejemplo para los detalles emergentes como spinner usando AlertDialog y AlertDialog.Builder

  AlertDialog dialog; final CharSequence[] items = { "Item1", "Item2" }; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(title); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int pos) { switch (pos) { case 0: { Toast.makeText(this,"Clicked on:"+items[pos],Toast.LENGTH_SHORT).show(); }break; case 1: { Toast.makeText(this,"Clicked on:"+items[pos],Toast.LENGTH_SHORT).show(); }break; } }}); dialog=builder.create(); dialog.show(); 

Si no está limitado por el nivel 11 de la API, entonces listPopupWindow está cerca de lo que desea.

  CharSequence[] items = {"Mangoes", "Bananas", "Grapes"}; new AlertDialog.Builder(getActivity()) .setTitle("Action") .setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int item) { if(item==0){ // Mangoes selected } else if(item==1){ // Bananas selected } else if(item==2){ // Grapes selected } } }) .show(); 

Es posible que desee utilizar PopupMenu

Vea este ejemplo

  • Spinner no aplica el atributo dropDownSelector
  • Lanzamiento de hilanderos en android
  • La flecha giratoria desaparece cuando cambio el color de fondo
  • Spinner dropdown dibujo de la parte superior de la pantalla en listview después de seleccionar el elemento
  • Actualizar City Spinner con notifyDataSetChanged después de seleccionar estado
  • Tamaño del texto de un spinner
  • ¿Cómo saber si el usuario hizo clic en el hilador en Android?
  • Android hiladora ABIERTA con un solo clic de botón
  • IndexOutOfBounds en Spinner?
  • Cerrar Spinner en clic fuera de Spinner
  • La eliminación del último elemento de la ruleta suprime toda la lista
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.