¿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); } } 

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); } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.