A few menu questions...

by Andy McCall » Sat, 21 Feb 2009 01:49:28 GMT

Sponsored Links
 Hi Folks,

I have been working working with Eclipse, the Android plug-in and the 1.1
SDK.  So far I quite like it and its bringing back memories of the BeOS's
API :)  I generally learn by doing, and I am stuck with some menu problems.
I want to create my menus using and XML file, and I can do that, but I can't
work out how to link up my menu values and the XML values for my case

I have the following XML file, res/menu/options_menu.xml:

<menu xmlns:android=" http://schemas.android.com/apk/res/android" ;>
 <item android:id="@+id/options_menu_settings"
    android:title="Settings" />
 <item android:id="@+id/options_menu_about"
          android:title="About" />
    <item android:id="@+id/options_menu_quit"
          android:title="Quit" />
Creating the menu by inflating it using the following:

    public boolean onCreateOptionsMenu(Menu menu) {
     MenuInflater inflater = getMenuInflater();
     inflater.inflate(R.menu.options_menu, menu);
        return true;

So far this works and draws the menu.

I have the following file res/values/strings.xml:

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

<item name="options_menu_quit" type="id" format="integer">0</item>

But how do I get the case statement and the XML to fit?  I would have
expected it to be something like this:

    /* Handles item selections */
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case options_menu_quit:
            return true;
        return false;

But that doesn't work as the options_menu_quit can't be resolved.

My other question is about menu icons. I get that this code adds an icon to
the menu:

menu.add(0, MENU_QUIT, 0, "Quit")

But if I am drawing a menu by inflating XML, how do I specify an icon there?


Andy McCall
Email: andy.mcc...@gmail.com
GTalk: andy.mcc...@gmail.com


A few menu questions...

by sddandroid » Mon, 16 Mar 2009 04:42:07 GMT

 ndy, I'm not sure if you ever found an answer to your question but,
the solution (IMHO) needs to be posted because it isn't elaborated on
in the Dev documentation or on the Developers site (anywhere I could
find). If you write up your menus using XML, you can access the item
ids using R.id like this....

XML File
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_client"
android:title="New Client" />
<item android:id="@+id/add_income"
android:title="Add Income" />
<item android:id="@+id/add_expense"
android:title="Add Expense" />
<item android:id="@+id/add_mileage"
android:title="Add Mileage" />


// Called when the menu button is pressed
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;

// Handles when menu options are selected
public boolean onOptionsItemSelected(MenuItem item){
case R.id.new_client:
return true;
case R.id.add_income:
return true;
case R.id.add_expense:
return true;
case R.id.add_mileage:
return true;
return false;

On Feb 20, 9:33am, Andy McCall <andy.mcc...@gmail.com> wrote:

Sponsored Links

Other Threads

1. OOT: Undangan 鈥淕rand Launchin g 42 Mbps鈥?Indosat

ini di KPPTI bukan?

2010/5/4 dantez <blepe...@gmail.com>

> > 

2. Question about reading contacts

I'm trying to read all the contacts stored in the phone using this

Cursor cursorNumber =
context.getContentResolver().query( Contacts.Phones.CONTENT_URI,
                                        new String[] { Contacts.Phones._ID, 
Contacts.Phones.NUMBER }, null, null, null );

but the result seems empty until the moment I sync the contacts with
Google. Is that possible? Is it a limitation of Google Contacts API?


3. Text Entry Sequence with the Soft Keyboard

4. Mohon Bantuan Advice Teman2

5. Salam kenal dari Surabaya

6. Determine if my application is visible on screen

7. Something wrong here, didn't expect com.commonsware.android.rotation.two to be resumed