¿Agregar un onclick a un submenú?
Tengo una función onclick para mi menú, pero no puedo averiguar cuál es el ID es para mi submenú para que pueda decirle al submenú qué hacer cuando el usuario haga clic en él. He creado mi submenú mediante programación utilizando el código siguiente. Así que si alguien podría por favor explicarme cómo sé lo que el ID es para cada elemento del submenú que me gustaría mucho.
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mainmenu, menu); SubMenu submenu = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Preferences"); submenu.add(0, Menu.FIRST, Menu.NONE, "Get Last 5 Packets"); submenu.add(0, Menu.FIRST, Menu.NONE, "Get Last 10 Packets"); submenu.add(0, Menu.FIRST, Menu.NONE, "Get Last 20 Packets"); inflater.inflate(R.menu.mainmenu, submenu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case R.id.viewKML: viewKML(); return true; default: return super.onOptionsItemSelected(item); } }
- Android - ActionBarSherlock - Establecer textcolor de texto en el menú
- Elemento de menú de la barra de acción Android con actionLayout no funciona correctamente
- ¿Cómo agregar divisores entre elementos de menú específicos?
- El submenú de la barra de acción no funciona con actionLayout
- Cómo crear un submenú para el botón de acción flotante en Android Material Design?
- Android añadiendo un submenú a un menuItem, donde es addSubMenu ()?
- Cómo crear un submenú personalizado como la aplicación de Google Chrome
- Cómo cambiar la sangría de los elementos del submenú en un NavigationView?
- Cómo crear menú emergente como submenú de otro elemento de menú de menú emergente
- Barra de acciones - elemento del submenú con texto e imagen no funcionando correctamente
- ActionBarSherlock: abre el submenú con el botón de menú
- Android cómo poner el submenú dentro del submenú
Cuando agregas
submenu.add(0, Menu.FIRST, Menu.NONE, "Get Last 5 Packets");
La disposición de parámetros para el método add () es Android Menu Add Method
public abstract MenuItem add (int groupId, int itemId, int order, CharSequence title)
ItemId ID de artículo único. Utilice NONE si no necesita un ID exclusivo.
Es el id de su elemento de menú. Debe ser único. Como usted dice 15,20,21. Este id actuará como android:id="@+id/15"
. Se utilizará cuando se va a comprobar qué elemento se hace clic
p.ej
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_activity_menu, menu); SubMenu submenu = menu.addSubMenu(0, Menu.FIRST, Menu.NONE, "Preferences"); submenu.add(0, 10, Menu.NONE, "Get Last 5 Packets"); submenu.add(0, 15, Menu.NONE, "Get Last 10 Packets"); submenu.add(0, 20, Menu.NONE, "Get Last 20 Packets"); inflater.inflate(R.menu.main_activity_menu, submenu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection switch (item.getItemId()) { case 10: Toast.makeText(LoginPageActivity.this, "Now "+item.getItemId(), Toast.LENGTH_SHORT).show(); return true; case 15: Toast.makeText(LoginPageActivity.this, "Now = "+item.getItemId(), Toast.LENGTH_SHORT).show(); return true; case 20: Toast.makeText(LoginPageActivity.this, "Now == "+item.getItemId(), Toast.LENGTH_SHORT).show(); return true; default: return super.onOptionsItemSelected(item); } }