OnContextItemSelected nunca llamado utilizando un cuadro de diálogo con un ListView

Estoy creando un diálogo simple con un ListView en él. Quiero poder acceder a un menú contextual. Aquí está el código básico que tengo:

<On CreateDialog> listViewSongs=(ListView) layout.findViewById(R.id.ListView_Songs); listViewSongs.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, drawingPanel.metronome.getSongNames())); registerForContextMenu(listViewSongs); 

Entonces sólo agrego un elemento simple:

 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("Sample Context Menu"); menu.add(0, MENU_EDIT_SONG, 0, "Edit"); } 

Y finalmente anular el onContextItemSelected:

 @Override public boolean onContextItemSelected(MenuItem item) { super.onContextItemSelected(item); editSong(); return true; } 

Así que mi problema es que cuando me largo el listview que tengo el menú contextual, pero después de hacer clic en la única opción en él, nunca llama aContextItemSelected 🙁 ¿Cualquier ayuda?

PS: He intentado también anular onMenuItemSelected, onOptionsItemSelected, pero obtuve el mismo resultado: \ never got called.

3 Solutions collect form web for “OnContextItemSelected nunca llamado utilizando un cuadro de diálogo con un ListView”

No estoy seguro de por qué lo que tienes no funciona, pero puedes intentar agregar un listener a tu menuItem: setOnMenuItemClickListener . Al menos eso le diría que su elemento de menú contextual estaba siendo seleccionado.

Después de esta línea:

  registerForContextMenu(listViewSongs); 

Escribe esto:

  listViewSongs.setOnCreateContextMenuListener(this); 

Y en lugar de la función onContextItemSelected (Item MenuItem) use esto:

 @Override public boolean onMenuItemSelected(int featureId, MenuItem menuItem) { 

Debe poner SU CÓDIGO antes de llamar al método base (es decir, super ())

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.