O'Reilly logo

Android Application Development For Dummies, 2nd Edition by Donn Felker, Michael Burton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Creating a Context Menu

A context menu appears when a user long-presses a view. The context menu is a floating menu that hovers above the current screen and allows users to choose from various options related to the view they long-pressed.

Thankfully, creating a context menu is quite similar to creating an option menu. You can define the menu in XML and inflate it using the same mechanism that you used when you created the options menu. All you need to do is call registerForContextMenu() with a view as the target. (See Chapter 9 to find out how to create a view as the target.) After you create that, you need to override the onCreateContextMenu() call — also demonstrated in Chapter 9.

The Task Reminder application needs a mechanism in which to delete a task when it’s no longer needed. Users can long-press the task in the list, and a context menu pops up that allows them to delete the task by selecting an item from the menu.

Creating the menu XML file

To create this menu, create a new XML file in the res/menu directory. Name it list_menu_item_longpress.xml. Type the following into the XML file:

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

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

<item android:id=”@+id/menu_delete”

android:title=”@string/menu_delete” />

</menu>

Notice that the title property uses a new string resource menu_delete. You need to create a new string resource with the name of menu_delete and the value of Delete Reminder. Also note that you don’t need ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required