Cómo implementar un onMenuItemClickListener en android
¿Cómo implemento un onMenuItemClickListener
?
@Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.gameoptions, menu); menu.findItem(R.id.menu_item).setIntent(new Intent(this, QMenuActivity.class)); menu.findItem(R.id.back_item).setOnMenuItemClickListener; return true; }
Quiero que el back_item haga clic una vez para llamar a una función dentro de la página, ¿cómo lo hago?
Estoy suponiendo que desea acceder a una función no estática en su actividad. Sin demasiada información de usted, intente algo como lo que está abajo:
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuItem item = menu.findItem(R.id.back_item); item.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { YourActivity.this.someFunctionInYourActivity(); return true; } }); return true; }
Aquí está la manera que lo hago si voy a inflar un menú del xml
.
Primero inflar el menú cuando se llama:
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.test, menu); return true; }
A continuación, espere una prensa y compruebe qué ID se ha pulsado:
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.item1: ... code ... return true; case R.id.item2: ... code ... return true; default: return super.onOptionsItemSelected(item); } }
¡Espero que esto ayude!
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener()
Cambie el código para incluir MenuItem
después de nuevo.