OnCreateContextMenu no se está llamando

Parece que el onCreateContextMenu insn't ser llamado en absoluto. En mi onCreate para mi ListActivity tengo:

list = getListView(); registerForContextMenu(list); 

(Sé que es redundante, y acabo de pasar getListView () con los mismos resultados).

Aquí está mi onCreateOntextMenu;

 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); Log.d("LM", "onCreateContextMenu"); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.context_landmarks, menu); } 

El registro nunca se genera. ¿Alguien tiene alguna sugerencia?

Mi pensamiento es ListView interceptar el evento y no entrar en el comportamiento contextMenu. Tiene sentido para mí porque el comportamiento de OnItemLongClickListener se superpone a contextMenu. ¿Si no cómo puede reconocer entre contextMenu y OnItemLongClickListener?

Intente localizar registerForContextMenu (lista); Como ur el último método para llamar en el método onCreate. Me refiero a este método shoul ser llamado después de que el adaptador de lista se llama no antes.

Sólo youwidget.setonLongclicklistener quitar youwidget.setonLongclicklistener y yourwidget.setLongClickable

A continuación, agregue registerforContextmenu(yourwidget) en onCreate() luego agregue el código de acuerdo con el widget utilizado.

Espero que sea útil.

Mi problema estaba muy estrechamente relacionado con la respuesta de lulumeya, que me señaló en la dirección correcta. He hecho menús contextuales muchas veces antes y de alguna manera nunca se topó con esto hasta ahora.

Estaba llamando View.setOnClickListener(listener) en Adapter.getView(...) cuando debería ser ListView.setOnItemClickListener(listener) para evitar conflictos con el menú contextual.

En general, estoy seguro de que OnItemClickListener está más optimizado, sobre todo porque sólo se usa una instancia de escucha en lugar de crear una nueva instancia cada vez que se crea o se recicla una vista.

Tenía ese problema y sólo podía resolverlo asegurando

  1. Eso porque el resp. Actividad registrada las vistas, la misma actividad debe también anular sobreCreateContextMenu (); Hacer esto en un fragmento no funcionará
  2. Puesto que utilicé un fragmento adicional que creaba el adaptador (y el registro con él) el fragmento no la actividad debe substituir onContextItemSelected ().

Estoy pensando en abandonar la prensa larga popup en favor de un botón de estilo de Youtube en el margen derecho de las tarjetas apareciendo un menú que no se desvanece todo lo demás a fondo — ¿cuál es el término de búsqueda para que btw?

Tienes que llamar al método registerForContextMenu(View view) en onCreate(Bundle savedInstanceState) .

  • Android cómo utilizar la barra de herramientas en ListActivity?
  • ¿Por qué se bloquea mi actividad al pulsar el botón de inicio?
  • Android: ¿Cómo tener un menú compartido en cada actividad (lista) sin volver a escribir los métodos anulados?
  • Actualizar Android ListActivity cuando cambia los datos de la lista?
  • Android ListView Edge Fading funciona en un dispositivo virtual 2.2 pero no en Samsung 2.2.1
  • cómo devolver datos de AsyncTask al hilo principal
  • Agregando barra de acciones a listactivity
  • Android SimpleCursorAdapter no se actualiza cuando cambia la base de datos
  • ListActivity TwoLineListItem Alternativa
  • Android RelativeLayout y altura de wrap_content?
  • NullPointerException cuando se utiliza CustomListAdapter
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.