Displaying a Context Menu in Response of User Action


Android context menu appears when the user press long click on the element. It is also known as floating menu. Context Menu is a useful solution, particularly when we want to provide a list of actions based on an item click in a ListView or other AdapterView.



1.       Ellipse SDK

2.       Android SDK

3.       ADT plugin

Or Android Studio and a compatible version of JAVA SDK

Install and configure the above utilities.

Now create a new Android project namely “ContextMenusample”.


Creating a Menu Layout:

For this, navigate to res/menu/ from package explorer in Eclipse and create an xml to define the menu itself. We’ll call this one contextmenu.xml Open contextmenu.xml

Add following code into it:


<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android" >





        android:title="Delete Item"/>




        android:title="Edit Item"/>







Main Activity Class Implementation:


Now, navigate to res/src/MainActivity from package explorer in Eclipse. Open MAinActivity.java

Add following code into it:



package com.example.contextmenusample;


import android.app.Activity;

import android.os.Bundle;

import android.view.ContextMenu;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.AdapterView.AdapterContextMenuInfo;

import android.widget.ArrayAdapter;

import android.widget.ListView;


public class MainActivity extends Activity {



                private static String[] myList = {"MindStick", "Apple", "Microsoft", "Oracle", "Amazon",

                                                                       "Facebook", "WhatsApp"};



                protected void onCreate(Bundle savedInstanceState) {




                                //Creating a list view

                                ListView list = new ListView(this);


                                //Creating an array adapter

                                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 



                                //setting adapter to list view



                                //Register a button for context events







                public boolean onCreateOptionsMenu(Menu menu) {

                                // Inflate the menu; this adds items to the action bar if it is present.

                                getMenuInflater().inflate(R.menu.main, menu);

                                return true;




                public void onCreateContextMenu( ContextMenu menu, View v,

                                                                               ContextMenu.ContextMenuInfo menuinfo){

                                super.onCreateContextMenu(menu, v, menuinfo);


                                //inflate the context menu

                                getMenuInflater().inflate(R.menu.contextmenu, menu);


                                //set header name

                                menu.setHeaderTitle("Choose an option");




                public boolean onContextItemSelected(MenuItem item){


                                //We can obtain the item that was clicked from the

                                // bundled ContextMenuInfo object, which is an instance

                                // of AdapterContextMenuInfo in the case of a ListView

                                AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();

                                int listPosition = info.position;


                                //Switch on the item's ID to find the action the user selected

                                switch (item.getItemId()) {

                                case R.id.menu_delete:

                                                //perform delete action


                                case R.id.menu_edit:

                                                //perform edit action


                                                return super.onContextItemSelected(item);


                                return true;







Running the application:

Just hit on “Run” button and our app will be launched and our list view consist of company names will be displayed:


Long press click on any company name, a contextual menu will be appeared on the selected item.


Thanks for reading this post.

Happy Coding!! J


  Modified On Nov-20-2017 12:03:30 AM

Leave Comment