Technology10/26/2019

Options Menu with Sub Items

Sponsored Intelligence Dispatch





In this tutorial we will create an options menu in Android Studio, which contains icons, drop down menus and sub items. The menu will be displayed in the app bar. For this we will override onCreateOptionsMenu and pass our own menu.xml file. Also we will handle click events on the single items in the onOptionsItemSelected method.

In MainActivity.java class file add these lines of codes:-

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.example_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.item1:
                Toast.makeText(this, "Item 1 selected", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.item2:
                Toast.makeText(this, "Item 2 selected", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.item3:
                Toast.makeText(this, "Item 3 selected", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.subitem1:
                Toast.makeText(this, "Sub Item 1 selected", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.subitem2:
                Toast.makeText(this, "Sub Item 2 selected", Toast.LENGTH_SHORT).show();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

}

In res file add menu file directory within it add example_menu.xml file for options menu creation:-

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/item1"
        android:icon="@drawable/ic_icon"
        android:title="Item 1"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/item2"
        android:title="Item 2"
        app:showAsAction="never" />

    <item
        android:id="@+id/item3"
        android:title="Item 3"
        app:showAsAction="never">

        <menu>

            <item
                android:id="@+id/subitem1"
                android:title="Sub Item 1" />

            <item
                android:id="@+id/subitem2"
                android:title="Sub Item 2" />

        </menu>

    </item>


</menu>

Now Run your app. you will see on Toolbar option menu will be created and toast message will appear on screen on selection of different options.


Deep Structural Diagnostics.

Mastering JSON is only the first step. Use our industrial-grade workbench to format, validate, and synthesize models for your production APIs.

Sponsored Infrastructure

Industrial Analysis Active