2010-09-22 9 views
13

Estoy tratando de crear un menú contextual que cambie las opciones disponibles según la fila en la que se hizo clic.Obtener posición de fila en onCreateContextMenu

Pero no puedo entender cómo obtener la posición de la fila en la vista de lista para la fila en la que se hizo clic, hasta que se crea el menú.

Respuesta

48

no es obvio en absoluto, pero aquí está el código:

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) 
    {  
     AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; 
     int position = info.position; 
+0

Gracias. Eso lo resuelve por completo. –

+6

Estoy usando la misma cosa, pero estoy obteniendo menuInfo como nulo ... alguna idea .. –

+0

@TusharAgarwal Estoy enfrentando un problema similar, ¿has encontrado alguna alternativa? –

0

La solución anterior no funcionó para mí. Esto es lo que utilicé:

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, 
            ContextMenu.ContextMenuInfo menuInfo) { 
     menu.add(0, v.getId(), 0, context.getString(R.string.tabTitleEnrolment)); 
     menu.add(0, v.getId(), 0, context.getString(R.string.tabTitleAfterCare)); 
     menu.add(0, v.getId(), 0, context.getString(R.string.contextMenuDelete)); 

     pos = getPosition(); 
    } 
Cuestiones relacionadas