I have these menu items in my menu_main.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity"> <item android:id="@+id/action_restart" android:title="Restart" android:orderInCategory="1" /> <item android:id="@+id/action_clear" android:title="Clear" android:orderInCategory="2" /> <item android:id="@+id/action_update" android:title="Update" android:orderInCategory="3" /> <item android:id="@+id/action_about" android:title="About" android:orderInCategory="4" /> <item android:id="@+id/action_try_restart" android:title="Try Restart" android:orderInCategory="5" /> </menu>
And I have this in my onOptionsItemSelected
method:
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_restart) { Toast.makeText(MainActivity.this, "Restart...", Toast.LENGTH_LONG).show(); } if (id == R.id.action_clear) { Toast.makeText(MainActivity.this, "Clear...", Toast.LENGTH_LONG).show(); } if (id == R.id.action_update) { Toast.makeText(MainActivity.this, "Update...", Toast.LENGTH_LONG).show(); } if (id == R.id.action_about) { Toast.makeText(MainActivity.this, "About...", Toast.LENGTH_LONG).show(); } if(id == R.id.action_try_restart) { // how to click / trigger the "action_restart" from here? } return super.onOptionsItemSelected(item); }
I have tried with:
MenuItem actionRestart = (MenuItem) findViewById(R.id.action_restart); actionRestart; //
But actionRestart
reference doesn't offer anything like click
, trigger
, etc.
I'd also like to note that I'm new to Android development and I come from PHP/JavaScript background, so this level of Java OOP is all new to me.
Use the method performIdentifierAction
, like this:
menu.performIdentifierAction(R.id.action_restart, 0);
You should manually call your listener, with required item as parameter.
MenuItem actionRestart = (MenuItem) findViewById(R.id.action_restart); onOptionsItemSelected(actionRestart);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With