Sé que esta pregunta se realizó con anterioridad y la respuesta fue anular onPrepareContextMenu()/onCreateContextMenu(). Pero no entendí y no encontré ninguna solución para eso. Por favor, ayúdenme a desactivar el menú contextual para determinados artículos ListView.cómo deshabilitar el menú contextual para determinados elementos ListView en Android
Respuesta
La apertura de su menú contextual depende de su lógica. Por ejemplo, en el método onItemClick (en su listView) debe verificar el contenido de su elemento y mostrar o no mostrar el menú contextual. No entiendo, ¿por qué es un problema para ti?
ACTUALIZACIÓN
public class ExampleActivity extends ListActivity {
private ListView mListView;
private ArrayList<String> mList = new ArrayList<String>();
private ArrayAdapter<String> mArrayAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mArrayAdapter = new ArrayAdapter<String>(this, android.R.id.list ,mList);
mListView = (ListView) findViewById(android.R.id.list);
setListAdapter(mArrayAdapter);
registerForContextMenu(mListView);
mListView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView , View v,int position, long id) {
mListView.getItemAtPosition(position); //check current item with your logic and show or don't show contextMenu
// for example I will show
mListView.showContextMenu(); //to show
return true;
}
});
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// add contextmenu items
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// todo some logic...
return super.onContextItemSelected(item);
}
}
Puede ser que le ayudará a ... buena suerte ...
En onCreate(), estoy registrando mi vista de lista con registerForContextMenu (listview) .Y en onListItemClick (ListView l, View v, int position, long id), cómo se supone que debo habilitar/deshabilitar para un elemento de lista particular. Supongamos que toma el primer artículo en ListView. Cómo se supone que debo escribir ese código habilitar/deshabilitar después de esto - listview.getItemAtPosition (0). ? –
su contextMenu se mostrará cuando llame al método showContextMenu(). Verificará su artículo, y si necesita mostrar contextMenu llamará a showContextMenu() y de otra manera no lo llamará. ¿Cuál es el problema? –
En el método onListItemClick (ListView l, View v, int position, long id) hay un parámetro de "posición int". Es la posición de su elemento actual al que se hace clic. Verifica item por getItemAtPosition (int position) y haces algo ... –
También puede volver a registrar su vista de lista que hará que su método de onCreateContextMenu
a ejecutar de nuevo
ListView lv = (ListView) findViewById(R.id.lvExample);
registerForContextMenu(lv);
Y luego puede ocultar o mostrar los elementos del menú con wh ich cualquier lógica que desee en el onCreateContextMenu
método
Compro esto. No creo que estropear con 'OnItemLongClickListener' es una buena idea. – Yeung
- 1. menú contextual para eliminar elementos en listview
- 2. Android deshabilitar elementos listview
- 3. Deshabilitar el menú contextual en pulsaciones largas en Android
- 4. ListView personalizado y menú contextual. ¿Cómo conseguirlo?
- 5. Copiar menú contextual para ListView Control
- 6. menú contextual jquery desactivar elementos de menú
- 7. Menú contextual en Android WebView
- 8. Deshabilitar el menú contextual en el control de Internet Explorer
- 9. cómo activar el menú contextual para el elemento listview no para encabezados de columna
- 10. jstree eliminar elementos predeterminados del menú contextual
- 11. ¿Cómo se implementa el menú contextual en ListActivity en Android?
- 12. Cómo deshabilitar el menú contextual con el botón derecho en JavaScript
- 13. cómo llamar menú contextual
- 14. Cómo agregar menú contextual al menú contextual de NSOutlineView (
- 15. Tortoise SVN: cómo cambiar el menú contextual?
- 16. Anulación de los colores del menú contextual en Android
- 17. Android: Cómo encontrar la posición presionada desde el menú contextual
- 18. ¿Cómo modificar el menú contextual en CKEditor?
- 19. menú contextual principal?
- 20. ¿Cómo puedo crear iconos para elementos de menú en ListView de Android?
- 21. Agregar método en Android Copiar/Pegar el menú contextual global?
- 22. Iterar elementos ListView en Android
- 23. Android: deshabilitar la selección de ListView
- 24. Cómo habilitar/deshabilitar menuitem (en menú contextual) para un elemento seleccionado de treeview
- 25. Menú contextual por clic corto
- 26. PyQt y menú contextual
- 27. Diferencia entre el menú contextual y el menú de opciones en Android
- 28. Menú contextual de TabControl
- 29. WPF: Presentación de un menú contextual para los elementos de un GridView
- 30. Menú contextual para TreeViewer basado en el nodo seleccionado - SWT
anule onPrepareContextMenu() y verifique que la posición actual de la lista seleccionada tenga un indicador booleano para eliminar todos los elementos del menú = ganar. – Blundell
puede ser más específico sobre esto, quiero decir que necesito un código de muestra para entenderlo claramente. No puedo entender cómo eliminar todos los elementos del menú para un elemento de lista ESPECÍFICO. –