Recuperar texto de un elemento ListView con OnContextItemSelected

Tengo un ListView con un menú de contexto "clásico" con la supresión y las opciones similares. Puesto que estoy suprimiendo de un objeto SharedPreferences, necesito recuperar la llave, que es el conjunto del texto en los artículos de ListView.

He intentado el siguiente código:

@Override public boolean onContextItemSelected(MenuItem item){ AdapterContextMenuInfo saved = (AdapterContextMenuInfo) item.getMenuInfo(); TextView view = (TextView)findViewById((int) saved.id); Log.d("DEBUG:", "before key"); String key = view.getText().toString(); Log.d("DEBUG:", "after..."); switch (item.getItemId()){ case R.id.conmenu_delete: return true; case R.id.conmenu_copy: return true; case R.id.conmenu_send: return true; default: return super.onContextItemSelected(item); } } 

Pero, por desgracia, se bloquea al intentar recuperar el texto de la vista, como lo sé de los registros.

Ya ha AdapterContextMenuInfo correctamente el AdapterContextMenuInfo .
A partir de ahí, puede obtener el targetView que puede convertir de nuevo en el widget. Supongo que es un TextView en tu caso. En ese TextView puede llamar al getText() simple getText() .

 @Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); String key = ((TextView) info.targetView).getText().toString(); switch (item.getItemId()){ case R.id.conmenu_delete: return true; case R.id.conmenu_copy: return true; case R.id.conmenu_send: return true; default: return super.onContextItemSelected(item); } } 

Si su lista está poblada con objetos personalizados, obviamente tiene que convertirlo al tipo respectivo, por ejemplo:

 Person person = (Person) getListAdapter().getItem(info.position); String key = person.getName(); 
  @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); Object obj = getListView().getItemAtPosition(info.position); String title = obj.toString(); } 
  • TextView en las filas listview que muestran valores repetidos en desplazamiento en Android?
  • SetSelected () funciona buggy con ListView
  • Cómo controlar ListView con el patrón MVP para Android
  • Establecer OnClickListener para elementos en ListView con 2 vistas
  • Cómo dibujar un encabezado de sección en android listview al igual que el UITableview del ios?
  • Cómo actualizar el ListView en lista de arrastre de ListView?
  • Android.view.InflateException: Línea de archivo XML binario # 9: Error al inflar la clase <unknown>
  • Haga clic en un elemento ListView cambia el estado de los elementos dentro del elemento?
  • ListView es muy lento - android
  • Listview conjunto adaptador fragmento nullpointerexception
  • RecyclerView oculta la barra de acción cuando se abre SoftKeyboard
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.