MenuItem.java revision cf78b3e5101349fdddbde14b3a55140f9562ae66
1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/*
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License.
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License.
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage android.view;
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
19b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodsonimport android.app.Activity;
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport android.content.Intent;
21b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodsonimport android.graphics.drawable.Drawable;
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport android.view.ContextMenu.ContextMenuInfo;
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport android.view.View.OnCreateContextMenuListener;
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Interface for direct access to a previously created menu item.
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p>
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * An Item is returned by calling one of the {@link android.view.Menu#add}
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * methods.
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * <p>
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * For a feature set of specific menu types, see {@link Menu}.
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
33333201833d506a3accdeac6ceb7caba8d4b95797Jesse Wilsonpublic interface MenuItem {
34fe107fb6e3f308ac5174ebdc5a794ee880c741d9Jesse Wilson    /*
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * These should be kept in sync with attrs.xml enum constants for showAsAction
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /** Never show this item as a button in an Action Bar. */
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static final int SHOW_AS_ACTION_NEVER = 0;
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /** Show this item as a button in an Action Bar if the system decides there is room for it. */
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static final int SHOW_AS_ACTION_IF_ROOM = 1;
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Always show this item as a button in an Action Bar.
4399409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Use sparingly! If too many items are set to always show in the Action Bar it can
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * crowd the Action Bar and degrade the user experience on devices with smaller screens.
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * A good rule of thumb is to have no more than 2 items set to always show at a time.
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public static final int SHOW_AS_ACTION_ALWAYS = 2;
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
5099409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Interface definition for a callback to be invoked when a menu item is
51de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * clicked.
52092412605d5d500456e9fff475c90691e668b914Elliott Hughes     *
53092412605d5d500456e9fff475c90691e668b914Elliott Hughes     * @see Activity#onContextItemSelected(MenuItem)
54de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * @see Activity#onOptionsItemSelected(MenuItem)
556988f303309054c572876156e2f46d539419a73dTobias Thierer     */
566988f303309054c572876156e2f46d539419a73dTobias Thierer    public interface OnMenuItemClickListener {
576988f303309054c572876156e2f46d539419a73dTobias Thierer        /**
586988f303309054c572876156e2f46d539419a73dTobias Thierer         * Called when a menu item has been invoked.  This is the first code
596988f303309054c572876156e2f46d539419a73dTobias Thierer         * that is executed; if it returns true, no other callbacks will be
60092412605d5d500456e9fff475c90691e668b914Elliott Hughes         * executed.
61092412605d5d500456e9fff475c90691e668b914Elliott Hughes         *
62092412605d5d500456e9fff475c90691e668b914Elliott Hughes         * @param item The menu item that was invoked.
63092412605d5d500456e9fff475c90691e668b914Elliott Hughes         *
64de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro         * @return Return true to consume this click and prevent others from
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         *         executing.
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project         */
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        public boolean onMenuItemClick(MenuItem item);
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
71092412605d5d500456e9fff475c90691e668b914Elliott Hughes     * Return the identifier for this menu item.  The identifier can not
72092412605d5d500456e9fff475c90691e668b914Elliott Hughes     * be changed after the menu is created.
73092412605d5d500456e9fff475c90691e668b914Elliott Hughes     *
74092412605d5d500456e9fff475c90691e668b914Elliott Hughes     * @return The menu item's identifier.
75092412605d5d500456e9fff475c90691e668b914Elliott Hughes     */
766988f303309054c572876156e2f46d539419a73dTobias Thierer    public int getItemId();
77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
7899409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Return the group identifier that this menu item is part of. The group
80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * identifier can not be changed after the menu is created.
81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
8299409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @return The menu item's group identifier.
83de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     */
84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public int getGroupId();
85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
8799409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Return the category and order within the category of this item. This
88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * item will be shown before all items (within its category) that have
89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * order greater than this value.
90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * <p>
91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * An order integer contains the item's category (the upper bits of the
9299409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * integer; set by or/add the category with the order within the
93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * category) and the ordering of the item within that category (the
94de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * lower bits). Example categories are {@link Menu#CATEGORY_SYSTEM},
95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Menu#CATEGORY_SECONDARY}, {@link Menu#CATEGORY_ALTERNATIVE},
96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Menu#CATEGORY_CONTAINER}. See {@link Menu} for a full list.
97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return The order of this item.
9999409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     */
100de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro    public int getOrder();
101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change the title associated with this item.
104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
10599409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @param title The new text to be displayed.
106de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * @return This Item so additional setters can be called.
107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setTitle(CharSequence title);
109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
11199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Change the title associated with this item.
11299409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * <p>
113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Some menu types do not sufficient space to show the full title, and
114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * instead a condensed title is preferred. See {@link Menu} for more
115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * information.
116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param title The resource id of the new text to be displayed.
11899409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @return This Item so additional setters can be called.
119de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * @see #setTitleCondensed(CharSequence)
120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setTitle(int title);
123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
12499409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
12599409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Retrieve the current title of the item.
126de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     *
127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return The title.
128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public CharSequence getTitle();
130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
13199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
132de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * Change the condensed title associated with this item. The condensed
133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * title is used in situations where the normal title may be too long to
134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * be displayed.
135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param title The new text to be displayed as the condensed title.
13799409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @return This Item so additional setters can be called.
138de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     */
139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setTitleCondensed(CharSequence title);
140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Retrieve the current condensed title of the item. If a condensed
14399409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * title was never set, it will return the normal title.
14499409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     *
145de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * @return The condensed title, if it exists.
146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *         Otherwise the normal title.
147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public CharSequence getTitleCondensed();
14999409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project
150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change the icon associated with this item. This icon will not always be
15299409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * shown, so the title should be sufficient in describing this item. See
153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Menu} for the menu types that support icons.
154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param icon The new icon (as a Drawable) to be displayed.
15699409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @return This Item so additional setters can be called.
15799409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     */
158de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro    public MenuItem setIcon(Drawable icon);
15999409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project
16099409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change the icon associated with this item. This icon will not always be
162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * shown, so the title should be sufficient in describing this item. See
163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Menu} for the menu types that support icons.
164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * <p>
165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * This method will set the resource ID of the icon which will be used to
166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * lazily get the Drawable when this item is being shown.
167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param iconRes The new icon (as a resource ID) to be displayed.
169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setIcon(int iconRes);
172de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro
17399409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
17499409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Returns the icon for this item as a Drawable (getting it from resources if it hasn't been
175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * loaded before).
176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
17799409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @return The icon as a Drawable.
178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public Drawable getIcon();
180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change the Intent associated with this item.  By default there is no
183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Intent associated with a menu item.  If you set one, and nothing
184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * else handles the item, then the default behavior will be to call
185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link android.content.Context#startActivity} with the given Intent.
186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * <p>Note that setIntent() can not be used with the versions of
188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Menu#add} that take a Runnable, because {@link Runnable#run}
189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * does not return a value so there is no way to tell if it handled the
190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * item.  In this case it is assumed that the Runnable always handles
191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * the item, and the intent will never be started.
192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #getIntent
194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param intent The Intent to associated with the item.  This Intent
195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *               object is <em>not</em> copied, so be careful not to
196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *               modify it later.
197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
199de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro    public MenuItem setIntent(Intent intent);
20099409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project
20199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Return the Intent associated with this item.  This returns a
203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * reference to the Intent which you can change as desired to modify
20499409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * what the Item is holding.
205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setIntent
207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return Returns the last value supplied to {@link #setIntent}, or
208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *         null.
209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public Intent getIntent();
211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change both the numeric and alphabetic shortcut associated with this
214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * item. Note that the shortcut will be triggered when the key that
215de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * generates the given character is pressed alone or along with with the alt
21699409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * key. Also note that case is not significant and that alphabetic shortcut
217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * characters will be displayed in lower case.
218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * <p>
219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * See {@link Menu} for the menu types that support shortcuts.
220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param numericChar The numeric shortcut key. This is the shortcut when
222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *        using a numeric (e.g., 12-key) keyboard.
223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param alphaChar The alphabetic shortcut key. This is the shortcut when
224de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     *        using a keyboard with alphabetic keys.
22599409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * @return This Item so additional setters can be called.
226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setShortcut(char numericChar, char alphaChar);
228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change the numeric shortcut associated with this item.
231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * <p>
232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * See {@link Menu} for the menu types that support shortcuts.
233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param numericChar The numeric shortcut key.  This is the shortcut when
235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *                 using a 12-key (numeric) keyboard.
2364c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche     * @return This Item so additional setters can be called.
2374c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche     */
2384c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche    public MenuItem setNumericShortcut(char numericChar);
2394c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche
2404c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche    /**
2414c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche     * Return the char for this menu item's numeric (12-key) shortcut.
2424c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche     *
2434c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche     * @return Numeric character to use as a shortcut.
2444c656e4ec2f5c5036dc67fb4034c1e7ff7abf343Benoit Lamarche     */
245f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public char getNumericShortcut();
246de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro
24799409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    /**
248f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Change the alphabetic shortcut associated with this item. The shortcut
249f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * will be triggered when the key that generates the given character is
250f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * pressed alone or along with with the alt key. Case is not significant and
251f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * shortcut characters will be displayed in lower case. Note that menu items
252f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * with the characters '\b' or '\n' as shortcuts will get triggered by the
253f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Delete key or Carriage Return key, respectively.
2549dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * <p>
255f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * See {@link Menu} for the menu types that support shortcuts.
256f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
257f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param alphaChar The alphabetic shortcut key. This is the shortcut when
258f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *        using a keyboard with alphabetic keys.
259f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
260f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
2619dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson    public MenuItem setAlphabeticShortcut(char alphaChar);
262f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
263f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
264f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Return the char for this menu item's alphabetic shortcut.
265f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
266f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return Alphabetic character to use as a shortcut.
267f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
2689dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson    public char getAlphabeticShortcut();
269f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
270f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
271f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Control whether this item can display a check mark. Setting this does
272f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * not actually display a check mark (see {@link #setChecked} for that);
273f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * rather, it ensures there is room in the item in which to display a
274f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * check mark.
2759dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * <p>
276f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * See {@link Menu} for the menu types that support check marks.
277f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
278f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param checkable Set to true to allow a check mark, false to
279f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *            disallow. The default is false.
280f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setChecked
281f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #isCheckable
2829dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * @see Menu#setGroupCheckable
283f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
284f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
285f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setCheckable(boolean checkable);
286f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
287f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
288f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Return whether the item can currently display a check mark.
2899dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     *
290f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return If a check mark can be displayed, returns true.
291f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
292f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setCheckable
293f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
294f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public boolean isCheckable();
295f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
2969dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson    /**
297f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Control whether this item is shown with a check mark.  Note that you
298f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * must first have enabled checking with {@link #setCheckable} or else
299f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * the check mark will not appear.  If this item is a member of a group that contains
300f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * mutually-exclusive items (set via {@link Menu#setGroupCheckable(int, boolean, boolean)},
301f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * the other items in the group will be unchecked.
302f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * <p>
3039dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * See {@link Menu} for the menu types that support check marks.
304f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
305f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setCheckable
306f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #isChecked
307f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see Menu#setGroupCheckable
308f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param checked Set to true to display a check mark, false to hide
309f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *                it.  The default value is false.
3109dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * @return This Item so additional setters can be called.
311f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
312f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setChecked(boolean checked);
313f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
314f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
315f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Return whether the item is currently displaying a check mark.
316f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
3179dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * @return If a check mark is displayed, returns true.
318f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
319f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setChecked
320f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
321f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public boolean isChecked();
322f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
323f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
3249dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * Sets the visibility of the menu item. Even if a menu item is not visible,
325f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * it may still be invoked via its shortcut (to completely disable an item,
326f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * set it to invisible and {@link #setEnabled(boolean) disabled}).
327f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
328f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param visible If true then the item will be visible; if false it is
329f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *        hidden.
330f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
331b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson     */
332b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson    public MenuItem setVisible(boolean visible);
333b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson
334b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson    /**
335b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson     * Return the visibility of the menu item.
336b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson     *
337b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson     * @return If true the item is visible; else it is hidden.
338b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson     */
339b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson    public boolean isVisible();
340b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson
341b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson    /**
342b7d748318354aba23ba03f76bdefc31fa6adc885Orion Hodson     * Sets whether the menu item is enabled. Disabling a menu item will not
3439dbd802c8c96c3a66873bc600bc7d1374a1d08e5Orion Hodson     * allow it to be invoked via its shortcut. The menu item will still be
344333201833d506a3accdeac6ceb7caba8d4b95797Jesse Wilson     * visible.
345f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
346f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param enabled If true then the item will be invokable; if false it is
347f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *        won't be invokable.
348f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
349f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
350f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setEnabled(boolean enabled);
351f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
352f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
353f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Return the enabled state of the menu item.
354f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
355f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return If true the item is enabled and hence invokable; else it is not.
356f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
357f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public boolean isEnabled();
358f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
359f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
360f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Check whether this item has an associated sub-menu.  I.e. it is a
36199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * sub-menu of another menu.
362de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     *
363f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return If true this item has a menu; else it is a
364f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *         normal item.
365f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
36699409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project    public boolean hasSubMenu();
367f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
368f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
369f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Get the sub-menu to be invoked when this item is selected, if it has
370f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * one. See {@link #hasSubMenu()}.
371f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
372f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return The associated menu if there is one, else null
373f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
374f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public SubMenu getSubMenu();
375f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
376de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro    /**
377f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Set a custom listener for invocation of this menu item. In most
378f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * situations, it is more efficient and easier to use
379f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Activity#onOptionsItemSelected(MenuItem)} or
380f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link Activity#onContextItemSelected(MenuItem)}.
38199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     *
382f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param menuItemClickListener The object to receive invokations.
383de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * @return This Item so additional setters can be called.
384f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see Activity#onOptionsItemSelected(MenuItem)
385f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see Activity#onContextItemSelected(MenuItem)
386f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
387f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener menuItemClickListener);
388f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
389f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
390f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Gets the extra information linked to this menu item.  This extra
39199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * information is set by the View that added this menu item to the
392f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * menu.
393de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     *
394f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see OnCreateContextMenuListener
395f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return The extra information linked to the View that added this
396f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *         menu item to the menu. This can be null.
397f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
398f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public ContextMenuInfo getMenuInfo();
399f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
400f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
40199409883d9c4c0ffb49b070ce307bb33a9dfe9f1The Android Open Source Project     * Sets how this item should display in the presence of an Action Bar.
402f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
403de75089fb7216d19e9c22cce4dc62a49513477d3Carl Shapiro     * @param actionEnum How the item should display. One of
404f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link #SHOW_AS_ACTION_ALWAYS}, {@link #SHOW_AS_ACTION_IF_ROOM}, or
405f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * {@link #SHOW_AS_ACTION_NEVER}. SHOW_AS_ACTION_NEVER is the default.
406f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
407f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see android.app.ActionBar
408f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setActionView(View)
409f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
410f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void setShowAsAction(int actionEnum);
411f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
412f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
413f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Set an action view for this menu item. An action view will be displayed in place
414f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * of an automatically generated menu item element in the UI when this item is shown
415f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * as an action within a parent.
416f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
417f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @param view View to use for presenting this item to the user.
418f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This Item so additional setters can be called.
419f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
420f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setShowAsAction(int)
421f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
422f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public MenuItem setActionView(View view);
423f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
424f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
425f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Returns the currently set action view for this menu item.
426f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
427f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @return This item's action view
428f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
429f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setActionView(View)
430f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @see #setShowAsAction(int)
431f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
432f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public View getActionView();
433f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}