Add, update Menu item programmatically - MargaritaOstrovskaia/AndroidBasics---MusicalStructureApp GitHub Wiki
Create menu: res/menu/menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_artists"
app:showAsAction="ifRoom"
android:icon="@drawable/ic_artist"
android:contentDescription="@string/label_artists"
android:title="@string/label_artists" />
<item
android:id="@+id/menu_albums"
app:showAsAction="ifRoom"
android:icon="@drawable/ic_album"
android:contentDescription="@string/label_albums"
android:title="@string/label_albums" />
</menu>Override methods in Activity:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// update visability
menu.findItem(R.id.menu_artists).setVisible(true);
menu.findItem(R.id.menu_albums).setVisible(false);
return true;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_artists) {
Intent newIntent = new Intent(AlbumActivity.this, ArtistActivity.class);
startActivity(newIntent);
}
return true;
}